天天看點

XJNU-CTF 2018

閑來無事,最近在做CTF題,感覺再不練練手我就廢了。

1.本地檔案包含+檔案上傳拿

flag

看到題目,有兩種思路:1).利用檔案上傳拿

webshell

,然後找到

flag

; 2).利用檔案包含拿

webshell

flag

。 目标很明确,思路也有,然後實踐操作,結果發現檔案上傳走不通,然後想利用檔案包含漏洞可以讀檔案,經證明的确可以讀取到檔案,但是要找

flag

就比較難了,因為我不知道

flag

在哪啊!于是就有另一種想法,利用遠端檔案包含拿

webshell

,後來經讀

upload.php

源碼發現,應該是不能遠端檔案包含的。那麼最後就剩本地檔案包含了,正好呢此處可以上傳檔案,是以先上傳一個圖檔,不過圖檔内容改為一句話木馬,然後包含這個圖檔,此時圖檔裡面的一句話木馬就會被解析執行,這樣我們就拿到了

webshell

.

具體操作如下,正好回顧下基礎知識

  • 利用檔案包含讀本地檔案

    /etc/passwd

XJNU-CTF 2018

2.png

  • 由于最後知道了

    flag

    檔案名和路徑,這裡就順便示範下,如下:
XJNU-CTF 2018

3.png

  • 讀取

    upload.php

    檔案源碼

    讀取格式

?file=php://filter/read=convert.base64-encode/resource=檔案名
           
XJNU-CTF 2018

4.png

然後base64解碼

XJNU-CTF 2018

5.png

此時看到

upload.php

源碼,可知檔案上傳拿webshell是行不通的
  • 同樣讀取

    index.php

    ,如下:
XJNU-CTF 2018

6.png

XJNU-CTF 2018

7.png

可以看出,此檔案包含是對包含檔案參數

file

是做了正則比對過濾的。

解題

  • 上傳圖檔

    zzqsmile.jpg

    ,然後抓包寫一句話。
XJNU-CTF 2018

8.png

  • 上傳成功!
XJNU-CTF 2018

9.png

  • 然後包含上傳的圖檔

    upload/zzqsmile.jpg

XJNU-CTF 2018

10.png

  • ok!下面就可以用菜刀嘗試連接配接了。
XJNU-CTF 2018

11.png

nice! 沒毛病!
  • 最後就簡單了,找

    flag

XJNU-CTF 2018

12.png

flag: flag{pHp_Lfi_t0_Be_Shell!} 之前讀檔案讀的就是這個檔案。

2.SQL注入拿

flag

XJNU-CTF 2018

13.png

  • 題目分析: 很明顯根據提示資訊,此題是道SQL注入的題目,可以看下源碼,或者直接可以嘗試

    index.php?id=1

XJNU-CTF 2018

14.png

XJNU-CTF 2018

15.png

可以發現,此處可能就是注入點,經确認的确存在注入。
  • 下面就是sql注入流程一頓操作,最後得到

    flag

XJNU-CTF 2018

16.png

解題完畢!