0x00:基础知识点介绍
先说一下针对服务器本身的SSRF攻击:
假如说服务器应用端没有对敏感词进行过滤的情况下,我们可以在客户端上发起HTTP请求指向127.0.0.1或者是localhost
举个例子,在一个电商APP上,客户如果想在特定的店铺购买某些东西的话就需要看看库存够不够,不够的话也买不了。而APP为了显示库存量信息,必须根据客户选定的商品和店铺向后端发送REST API(即把前端的HTTP请求传给相关后端API,然后再返回信息)如果通过抓包,请求大概会是这样的:
Content-Type: application/x-www-form-urlencoded
Content-Length: 118
stockApi=http://stock.weliketoshop.net:8080/product/stock/check%3FproductId%3D6%26storeId%3D1
然后服务器会根据这个请求给发给特定的URL,接收商品库存状态再返回给用户。当然问题就出在给特定的URL这里了,如果没有特定的防护,可以通过抓包把URL指向服务器本身比如这样:
POST /product/stock HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118
stockApi=http://localhost/admin
这种情况下服务器会获取到/admin里面的内容并返回给用户。正常情况下,在网页输入/admin会返回一个登录页面,你得有账号才能进去。可如果你通过抓包把URL指向服务器本身相当于我访问我自己是不需要验证的。直接放你过去。(可以理解为你用浏览器登录了一个页面随即你又删掉了,当你短时间内再次访问的时候是不需要输入账号密码的)
0x01:SSRF基础利用(针对自身后端系统)
0x02:SSRF基础利用(针对其它服务器后端系统)
举个例子,假如说后端的管理系统是https://192.168.0.68/admin。那么我们可以构造一个SSRF攻击包请求如:
POST /product/stock HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 118
stockApi=http://192.168.0.68/admin
这次的靶场是这个,需要通过抓包然后扫出admin对应的IP然后再把carlos删了
192.168.0.1:8080的包,我们的目标是找到
192.168.0.x:8080/admin这样的后台地址
192.168.0.231:8080/admin是后台了
0x03:进阶玩法一(绕过黑名单进制)
也可以用以下方法进行绕过:
1. 短IP,用127.1来代替127.0.0.1,可以尝试在浏览器输入以下127.1,系统会自动帮你把127.1补成127.0.0.1
2. 注册一个域名,让系统把它解析为127.0.0.1
3. 使用URL编码或者大小写绕过
这次靶场对SSRF可利用点做了点防护
通知!
公众号招募文章投稿小伙伴啦!只要你有技术有想法要分享给更多的朋友,就可以参与到我们的投稿计划当中哦~感兴趣的朋友公众号首页菜单栏点击【商务合作-我要投稿】即可。期待大家的参与~
记得扫码
关注我们
原文始发于微信公众号(字节脉搏实验室):SSRF入门到进阶绕过
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论