本文目录导读:

开头先说两句掏心窝子的话
兄弟们,姐妹们,如果你点进来了,我猜你八成跟我当初一样——看着“SSRF”这三个字母,心里直犯嘀咕:“这玩意儿到底是个啥?跟隔壁老王说的XXE有啥关系?”,说实话,我当初学SSRF的时候,那叫一个头大,网上的教程要么太学术,要么直接甩个Payload让人背,看得我直接怀疑人生,咱今天这篇,我就要用最接地气的方式,带你从0到1把SSRF这层窗户纸捅破,不整虚的。
啥是SSRF?别背书,咱打个比方
哎呀,你别急,咱先别整那些官方定义,你想象一下这个场景:你家住在一个高档小区(这叫外网),保安室有个大哥(这叫服务器),他能进能出,权限很大,有一天,你突发奇想,想让保安大哥替你去隔壁楼(这叫内网)的MM家送束花,你自己懒得动,结果呢,保安大哥心术不正,他拿着你给的钥匙(URL),不光去了MM家,还顺便翻了翻人家抽屉,看看有没有值钱的东西,这时候,保安大哥就成了你的“代理”,而你,通过这个代理,干了坏事却不用自己背锅。
SSRF(服务器端请求伪造) 说白了,就是服务端(保安大哥)因为信任了我们的输入(钥匙),然后替我们去访问了原本我们自己去不了的地方(内网资源),攻击者就是利用这个“信任”,把请求发给内网,从而探测内网信息、读取敏感文件,甚至直接RCE(远程代码执行)!
从0开始:怎么发现它?
哎呀,说到发现,这可是个技术活,我一开始连个目标都没有,像个无头苍蝇,后来我总结了,找SSRF,首先要盯住那些会“帮你”发请求的地方。
-
URL分享 / 图片加载:我最爱的突破口!很多网站都有“获取远程图片”功能,你填个URL,它帮你下载,你把它改成
http://127.0.0.1:3306,看看端口通不通,嘿嘿,有戏。 -
Webhook / 回调通知:很多API支持填写回调地址,你填一个,它访问一个,这简直是天然的SSRF探测器。
-
文件导入 / PDF生成:那个特别经典,你传一个HTML,服务器用内置浏览器去解析并生成PDF,这时候,你在HTML里写
<iframe src='file:///etc/passwd'>,嘿嘿,PDF里可能就把密码文件给你打出来了!我第一次试这个的时候,发现里面真的带了root:x:0:0:root:/root:/bin/bash,那叫一个激动啊,手都抖了!
从0到1:绕过限制,我真服了
光能发现还不行,咱得能利用啊,但好家伙,现在程序员也不傻,人家会校验,比如只允许http://或https://开头,或者干脆黑名单了内网IP,这时候,绕过就成了核心乐趣。
-
IP地址变换:你写
0.0.1不行?那试试2130706433(这一长串数字是127.0.0.1的十进制写法)!还有[::1]、0.0.1(八进制)!我当时试到十六进制的时候,感觉自己的智商都升华了。 -
URL解析差异:这个我得吐槽一下,浏览器和Go语言解析URL的方式竟然不一样!比如
http://baidu.com@127.0.0.1,很多WAF以为你要访问百度,实际上请求发给了127.0.0.1,还有那个反斜杠,http://127.0.0.1\@gg.com,这种奇技淫巧,真是让人脑壳疼。 -
重定向:这个稍微高级点,你让服务器去访问一个你自己控制的URL,然后这个URL返回302跳转,目标指向内网IP,如果服务器跟着重定向走,那前面的校验就白做了!我当时搭了个临时VPS,就干这个事儿,看着日志里弹出来的内网响应,那感觉,哇塞,比夏天喝冰可乐还爽!
利用深度:从信息泄露到RCE的快乐
搞定绕过之后,就看怎么用了。
-
内网探测(扫端口):拿着URL当端口扫器,
http://192.168.1.1:3306、http://192.168.1.1:6379,根据响应时间或报错区别,能摸清内网拓扑,虽然累,但很有成就感,就像开盲盒。 -
文件读取:直接
file:///etc/passwd,把源码读出来,我在一次测试中,就靠这个读到了/var/www/html/config.php,数据库密码直接明文摆在那儿,那一瞬间真的觉得“人生值得”。 -
云元数据泄露:老生常谈,在AWS或阿里云环境里,访问
http://169.254.169.254/latest/meta-data/,直接拿临时访问凭证,我朋友靠这个在CTF里偷走了Flag,我却只拿着打了一把游戏,差距啊! -
Gopher打内网Redis:这算是终极奥义了!利用Gopher协议构造一个TCP包,直接免密码操作内网Redis,写计划任务反弹Shell,第一次成功反弹Shell的时候,我盯着那个终端界面愣了好几分钟,感觉自己从脚本小子进化成了黑客。
结尾的碎碎念
好了,说了这么多,其实从0到1的过程,就是理解“信任”边界的过程,SSRF不是简单的工具使用,它考验的是你对协议、解析规则和业务逻辑的理解深度,大家学习的时候,记得一定要搭个靶场多练练,别去乱打真实目标哦,不然警察蜀黍真的要请你去喝茶的,哈哈,我想想自己当初踩得那些坑,真是又菜又爱玩,希望这篇带点情绪的碎碎念,能帮你在学SSRF的路上少掉几根头发,咱们下篇见!
相关阅读推荐: