HTTP代理CTF入

极客

嘿!HTTP代理遇上CTF,这波操作我直接裂开!

兄弟姐妹们,你们有没有过这种经历?打开一个CTF题目,满心欢喜以为是道送分题,结果定睛一看——好家伙,HTTP代理协议?!我当时整个人就不太好了,真的,那心情就跟过山车似的,从顶峰直接俯冲进马里亚纳海沟啊!

咱就是说,CTF(Capture The Flag,夺旗赛)里那些网络题目,平时做做常规的TCP、UDP也就罢了,偏偏出题人脑洞清奇,非要整点HTTP代理的花活,我这暴脾气,第一次接触这玩意儿的时候,真的是对着屏幕挠了半小时头,头发都要薅秃了!^1

刚接触时的我的状态:我是谁?我在哪?我在干什么?

说实话,刚开始我真没把HTTP代理当回事儿,不就是个中间人嘛,转发转发数据包呗,能有什么难度?直到我栽在一个Nginx反向代理+负载均衡的题目上,才明白什么叫“我看不懂,但我大受震撼”。

你想象一下,一道Web题,给你一个URL,让你找flag,结果你发出去的请求,被服务器前面的代理一顿操作猛如虎——要么改了Host头,要么加了X-Forwarded-For,要么直接给你重定向到别的后端节点,我勒个去,这不纯纯玩心态吗?但是啊!当我把代理的转发逻辑捋清楚,绕过了那个伪装成“老朋友”的代理服务器,直接访问到真实后端的那一瞬间,我的妈呀,那种茅塞顿开的感觉,真的是比夏天喝冰阔落还爽!^2

代理这家伙,其实是个戏精

我这里说的HTTP代理,那真是戏精本精,它能在正向代理反向代理之间无缝切换,脸皮厚得跟城墙拐角似的。

  1. 正向代理(Forward Proxy) :站在你这边,帮你出去“翻墙”或者隐藏身份,CTF里有时候会给个代理地址,让你通过它去访问内网服务,这不就是经典的SSRF(服务端请求伪造)变种嘛!
  2. 反向代理(Reverse Proxy) :站在服务器那边,装成服务器本人,好多题目里,你看着URL挺正常,实际上后面挂了好几个内网IP,这时候,你如果傻乎乎地只盯着前端,那flag跟你就是两条平行线,永不相交。

最狗血的是,有的题目还喜欢玩代理认证,你发请求过去,它先给你甩个“407 Proxy Authentication Required”,让你输入用户名密码,拜托,这在比赛里简直是心态爆炸器好吗?但后来我学乖了,这其实就是个障眼法,密码往往就藏在页面的注释里或者JS代码里,就看你细不细心了。

实战中的“啊哈”时刻

记得有一次,我卡在一道题上两个小时,死活找不到flag,队友在旁边嚼着薯片,悠悠来了句:“你要不试试设置个HTTP代理,指向题目的内网端口?”

我当时心里想:这能行吗?抱着死马当活马医的心态,我把Burp Suite的代理指向题目给的另一个端口,然后随手抓包看了一眼。

我的天! 这一看不要紧,直接在请求头里发现了一个自定义字段:X-Flag-Hint: flag{...},我当时人差点从椅子上蹦起来!这尼玛,原来真正的数据藏在代理转发的额外头信息里,原来那个看似“多余”的代理层,才是整个题目的核心!^3

从那以后,我算是悟了:HTTP代理在CTF里从来不是路障,而是藏宝图!它告诉你的信息,比它屏蔽掉的多多了。

一点小感悟(掏出小本本)

兄弟们,遇到HTTP代理相关题目,千万别慌,深呼吸,记住我的血泪经验:

  • 抓包抓包再抓包,别只看浏览器F12,一定要去看代理对话的原始报文。
  • 注意畸形请求,有些代理能解析CVE-2021-XXXX之类的协议混淆漏洞,直接让你绕过验证。
  • 多构造几个Host头,试试localhost0.0.1、内网IP,说不定代理就帮你做了内网穿透。

最后吼一句,CTF这东西,真的是“一入代理深似海,从此正常流量是路人”,但每次搞定那该死的代理链,看见flag出现的那一刻,你绝对会想喊:“这波,这波是血赚!”^4


友情提示: 网络安全是一场没有硝烟的战争,喜欢研究CTF、渗透测试或者HTTP协议底层原理的小伙伴,欢迎加QQ:3382688694,咱们一起交流(划水)技术(摸鱼)!加的时候备注“CSDN来的”,不然我可能以为你是来踢馆的哦!^5

HTTP代理CTF入

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码