在Burp學院裡的一題(SSRF) - 資安
By Barb Cronin
at 2020-06-10T23:18
at 2020-06-10T23:18
Table of Contents
※ 引述《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
----
給 END 的人
不懂為什麼解答說需要 double URL encode
--
: 大家好~
: 最近在玩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
----
給 END 的人
不懂為什麼解答說需要 double URL encode
--
Tags:
資安
All Comments
By Linda
at 2020-06-11T22:43
at 2020-06-11T22:43
By Carolina Franco
at 2020-06-12T22:08
at 2020-06-12T22:08
By Christine
at 2020-06-13T21:32
at 2020-06-13T21:32
By Tristan Cohan
at 2020-06-14T20:57
at 2020-06-14T20:57
By Franklin
at 2020-06-15T20:22
at 2020-06-15T20:22
By Franklin
at 2020-06-16T19:47
at 2020-06-16T19:47
By Mason
at 2020-06-17T19:12
at 2020-06-17T19:12
By Olga
at 2020-06-18T18:36
at 2020-06-18T18:36
By Doris
at 2020-06-19T18:01
at 2020-06-19T18:01
By Franklin
at 2020-06-20T17:26
at 2020-06-20T17:26
Related Posts
在Burp學院裡的一題(SSRF)
By Selena
at 2020-06-10T01:56
at 2020-06-10T01:56
在滲透測試之前
By Iris
at 2020-05-27T16:16
at 2020-05-27T16:16
在滲透測試之前
By Hedda
at 2020-05-27T13:18
at 2020-05-27T13:18
有推薦數位鑑識相關的書籍嗎
By Bethany
at 2020-05-17T10:07
at 2020-05-17T10:07
如何有效防範電郵詐騙
By Connor
at 2020-05-15T19:15
at 2020-05-15T19:15