Re: [问题] 在Burp学院里的一题(SSRF)

楼主: CMJ0121 (请多指教!!)   2020-06-10 23:18:24
※ 引述《hpyhacking (骇人听闻)》之铭言:
: 大家好~
: 最近在玩Burp学院里的一些题目~
: 其中有一题的解payload看不太懂
: 想请教大家~
: 题目网址:
: https://portswigger.net/web-security/ssrf/lab-ssrf-with-whitelist-filter
: 里头有个有SSRF漏洞的地方,
: 他会过滤参数stockApi值网址不为stock.weliketoshop.net的
: 他的payload如下:
: http://localhost:80%[email protected]/admin/delete?username=carlos
: 其中
我的做法会是:
已经知道需要打 API 到 http://stock.weliketoshop.net:8080 题目又是 SSRF 相关的
看起来就是之前橘子那篇文章提到的一个 URI 各自解释的问题
而 URI 部分又分为
SCHEMA :// USERNAME : PASSWORD @ HOSTNAME : PORT / PATH ? QUERY # NOSE
既然已经使用了 SCHEMA、HOSTNAME、PORT 的部分
看来可以控制的部分就是 USERNAME 跟 PASSWORD
尝试了一下用 localhost:[email protected]:8080 是可行的
所以开始针对可用字符开始尝试 快速用 Python 跑了一下
单纯 X@stock.weliketoshop.net X 从 0x00 ~ 0xFF 跑了一次
除了 a-zA-Z0-9 之外 可行的符号包含 !"$%&'()*+,-.[\]^_`{|}~
接下来替换成 localhostX@stock.weliketoshop.net:8080
会发现除了正常的 a-zA-Z0-9 之外 替换 #/? 都会出现 Not Found 的错误资讯
听起来跟一开始的 URI 会用到的 PATH QUERY 跟 NOSE 有关了
因为他说要进入 http://localhost/admin 做存取 所以就试试看
http://localhost/admin#@stock.weliketoshop.net:8080
http://localhost%2fadmin%[email protected]:8080
然后得到一个长得很像原本网页的 HTML 内容 (?)
里面有提到 <a href="/login">Account login</a><p> 跟 <a href="/admin">Admin panel</a><p>
感觉已经进入到 admin panel 了 (?)
所以试了一下 localhost/admin/delete?username=carlos 的方式替换 / => %2f ? => %3f
结果还是刚刚的那个 HTML 页面 (?)
~只能继续猜测 他的 PATH 可能是原本的逻辑~
[EDIT]
只能继续猜测 他的 PATH 可能是原本正常的逻辑做判断
所以改成
http://localhost#@stock.weliketoshop.net:8080/admin/delete?username=carlos
也就是 http://localhost%[email protected]:8080/admin/delete?username=carlos
作者: hpyhacking (骇人听闻)   2020-06-10 23:30:00
请问橘子的那篇文章是哪一篇?关于NOSE那边的部分还是不太懂阿等一下我再看一下,好像快懂了
楼主: CMJ0121 (请多指教!!)   2020-06-10 23:54:00
作者: hpyhacking (骇人听闻)   2020-06-10 23:55:00
可是我自己用http://localhost%2fadmin%[email protected]会被block掉欸XDDDDDDD 你贴的网址我喜欢XDDD
楼主: CMJ0121 (请多指教!!)   2020-06-11 00:00:00
我是用 Python 丢 request 他应该没有在帮我转一层吧 XD如果有 那就是 Python 帮我做掉了(挖鼻)更正! 我是用 Python 去 call curl 那应该不会帮我转
作者: hpyhacking (骇人听闻)   2020-06-11 00:01:00
挖这篇好赞,果然是大神啊啊好的,所以基本上就是这些函式库在读取url各自得解释不一样造成的混淆吗?
作者: luciferii (路西瓜)   2020-06-13 08:29:00
用 Python 的话是不是送出去时已经先 urlencode 一次?

Links booklink

Contact Us: admin [ a t ] ucptt.com