閑來無事,最近在做CTF題,感覺再不練練手我就廢了。
1.本地檔案包含+檔案上傳拿 flag
flag
- 位址題目: http://ctf.xjnu.edu.cn:666/ 1.png
- 題目分析:
看到題目,有兩種思路:1).利用檔案上傳拿,然後找到
webshell
; 2).利用檔案包含拿
flag
webshell
。 目标很明确,思路也有,然後實踐操作,結果發現檔案上傳走不通,然後想利用檔案包含漏洞可以讀檔案,經證明的确可以讀取到檔案,但是要找
flag
就比較難了,因為我不知道
flag
在哪啊!于是就有另一種想法,利用遠端檔案包含拿
flag
,後來經讀
webshell
源碼發現,應該是不能遠端檔案包含的。那麼最後就剩本地檔案包含了,正好呢此處可以上傳檔案,是以先上傳一個圖檔,不過圖檔内容改為一句話木馬,然後包含這個圖檔,此時圖檔裡面的一句話木馬就會被解析執行,這樣我們就拿到了
upload.php
.
webshell
具體操作如下,正好回顧下基礎知識
- 利用檔案包含讀本地檔案
/etc/passwd
2.png
- 由于最後知道了
檔案名和路徑,這裡就順便示範下,如下:flag
3.png
- 讀取
upload.php
檔案源碼
讀取格式
?file=php://filter/read=convert.base64-encode/resource=檔案名
4.png
然後base64解碼
5.png
此時看到 upload.php
源碼,可知檔案上傳拿webshell是行不通的
- 同樣讀取
,如下:index.php
6.png
7.png
可以看出,此檔案包含是對包含檔案參數 file
是做了正則比對過濾的。
解題
- 上傳圖檔
,然後抓包寫一句話。zzqsmile.jpg
8.png
- 上傳成功!
9.png
- 然後包含上傳的圖檔
upload/zzqsmile.jpg
10.png
- ok!下面就可以用菜刀嘗試連接配接了。
11.png
nice! 沒毛病!
- 最後就簡單了,找
。flag
12.png
flag: flag{pHp_Lfi_t0_Be_Shell!} 之前讀檔案讀的就是這個檔案。
2.SQL注入拿 flag
flag
13.png
- 題目分析: 很明顯根據提示資訊,此題是道SQL注入的題目,可以看下源碼,或者直接可以嘗試
index.php?id=1
14.png
15.png
可以發現,此處可能就是注入點,經确認的确存在注入。
- 下面就是sql注入流程一頓操作,最後得到
flag
16.png
解題完畢!