Re: [問題] 在Burp學院裡的一題(SSRF)

看板NetSecurity作者 (不要偷 Q)時間3年前 (2020/06/10 23:18), 3年前編輯推噓4(4010)
留言14則, 3人參與, 3年前最新討論串2/2 (看更多)
※ 引述《hpyhacking (駭人聽聞)》之銘言: : 大家好~ : 最近在玩Burp學院裡的一些題目~ : 其中有一題的解payload看不太懂 : 想請教大家~ : 題目網址: : https://portswigger.net/web-security/ssrf/lab-ssrf-with-whitelist-filter : 裏頭有個有SSRF漏洞的地方, : 他會過濾參數stockApi值網址不為stock.weliketoshop.net的 : 他的payload如下: : http://localhost:80%2523@stock.weliketoshop.net/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:12345@stock.weliketoshop.net: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 QUERYNOSE 有關了 因為他說要進入 http://localhost/admin 做存取 所以就試試看 http://localhost/admin#@stock.weliketoshop.net:8080 http://localhost%2fadmin%23@stock.weliketoshop.net: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%23@stock.weliketoshop.net:8080/admin/delete?username=carlos ---- 給 END 的人 不懂為什麼解答說需要 double URL encode -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.229.246 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/NetSecurity/M.1591802307.A.F57.html ※ 編輯: CMJ0121 (106.1.229.246 臺灣), 06/10/2020 23:28:26

06/10 23:30, 3年前 , 1F
請問橘子的那篇文章是哪一篇?
06/10 23:30, 1F

06/10 23:31, 3年前 , 2F
關於NOSE那邊的部分還是不太懂
06/10 23:31, 2F

06/10 23:31, 3年前 , 3F
阿等一下我再看一下,好像快懂了
06/10 23:31, 3F

06/10 23:54, 3年前 , 4F

06/10 23:55, 3年前 , 5F
06/10 23:55, 5F

06/10 23:55, 3年前 , 6F
會被block掉欸
06/10 23:55, 6F

06/10 23:56, 3年前 , 7F
XDDDDDDD 你貼的網址我喜歡XDDD
06/10 23:56, 7F

06/11 00:00, 3年前 , 8F
我是用 Python 丟 request 他應該沒有在幫我轉一層吧 XD
06/11 00:00, 8F

06/11 00:00, 3年前 , 9F
如果有 那就是 Python 幫我做掉了(挖鼻)
06/11 00:00, 9F

06/11 00:01, 3年前 , 10F
更正! 我是用 Python 去 call curl 那應該不會幫我轉
06/11 00:01, 10F

06/11 00:01, 3年前 , 11F
挖這篇好讚,果然是大神
06/11 00:01, 11F

06/11 00:46, 3年前 , 12F
啊啊好的,所以基本上就是這些函式庫在讀取url各自得
06/11 00:46, 12F

06/11 00:46, 3年前 , 13F
解釋不一樣造成的混淆嗎?
06/11 00:46, 13F

06/13 08:29, 3年前 , 14F
用 Python 的話是不是送出去時已經先 urlencode 一次?
06/13 08:29, 14F
文章代碼(AID): #1UuFd3zN (NetSecurity)
文章代碼(AID): #1UuFd3zN (NetSecurity)