攻防世界 ics-02 writeup 學習筆記
emmm因為ssrf是對.pdf文件的下載,訪問頁面不出來的原因,做題的時候有點懵,
拿到題后,爆破目錄有/secret/ 里面有secret.php 和 debug_secret.php
ebug_secret.php是要求內網,以及下載的文檔提示是ssrf。
對debug_secret.php進行sql注入,傳參的問題學習了一下wp
url形式是ip:port/download.php?dl=http://127.0.0.1/secure/debug.php?s=3&txtfirst_name=.......
這樣會導致在第一個&符號處被加上.pdf導致其余參數無法傳入debug
文件里面,所以這里要給特殊字符url
加密一次在請求apache
服務器就會自動解密一次,這樣.pdf
就會加在最后一個參數后面了。
直接訪問的時候無法訪問,后來對ssrf指定了端口80發現和瀏覽器訪問返回的結果一樣,說明這個下載Pdf的ssrf並不用內網的80端口,好奇就嘗試爆破一下(沒爆破出來..存疑)。
小白還對各種注入接觸的比較少,那就對注入Poc學習一下吧。
本地sql測試
因為是插入數據的注入,拿了一個表測試,很蠢的照着poc試了一下,非常蠢..
l_name 顯示為0....因為poc中的+是python 字符串的連接字符 直接加括號就好了
那么再試試錯位到回顯位置注入
實戰注入測試
1.給txtfirst_name添加單引號 報錯'm','y','Esq.','01/10/2019','9786571')' 存在注入
2.猜測sql語句 Inset into XXX values(XX,XX,XX,XX)
3.猜測
insert in to xxx values('1',(database()),/*,'m'*/,'y','Esq.','01/10/2019','9786571')'
注入sql語句為
1',(database()),/*,'m'*/,'
4.由於忘了看回顯位置為<p><b>Name: </b>,'y, 1<br />所以調整sql,由txtLast_name來回顯
5.newpoc
insert in to xxx values('1','m',(database()),/*,'m','y'*/,'Esq.','01/10/2019','9786571')'
注入sql語句為
1','m',(database()),/*,'m','y'*/,'