具體場景——php自包含
getshell兩個思路:
1、Phpinfo()包含文件返回臨時文件名,我們是在文件上傳環節進行包含,如果不刪除臨時文件我們可以生成臨時文件,
2、沒有phpinfo,上傳文件同樣會生成臨時文件,沒有刪除也可以實現包含,爆破文件名即可。
如何讓它不進行刪除?
操作演示
我們從這道題學一些解題思路,註冊後登錄:
我們剛剛傳的值會入數據庫,這裏我們可以考慮下是否存在注入漏洞。
第四位的值實現插入,insert語句插入成功,變成5組數列。
出現兩個md5值,我們去解密一下就行了。它的密碼就是19101997。
拿到密碼後登錄管理員界面,就可以進行下一步操作了,以上我們利用到了注入漏洞的線索。
我們就會發現它存在一個包含點,想辦法利用它。
讓他做一個自包含,然後報錯,報錯之後就不會去刪除php臨時文件,採用報案點去包含臨時文件。
肯定是存在一個目錄,會有數據回來,那麼就有可能存在着利用點,
具體場景——php崩潰
利用腳本:
通過鏈接報錯去傳文件,利用臨時文件進行寫入,配合報案點實現包含,實現路徑可控,存在文件包含點就能實現一個文件包含。
內容來源:《CTF從入門到提升》