BugkuCTF-WEB-文件包含2

解題鏈接:http://123.206.31.85:49166

打開題目鏈接,發現url變成了http://123.206.31.85:49166/index.php?file=hello.php很明顯的文件包含字眼file,之後我們來看一下網頁源代碼

我們可以發現網頁源代碼裏面有一個event,不過沒什麼用,我們在源代碼最上方可以看到一行註釋寫着upload.php,我們嘗試訪問一下upload.php

訪問到upload.php之後頁面出現了文件上傳的樣式,從頁面信息可以看出,網站通過白名單的方式限制了上傳文件的類型,只能上傳jpg、gif、png格式的圖片文件,此時我們需要繞過文件格式檢測,上傳一個我們的文件。這裏我使用了php的一個圖片一句話木馬文件。

思路:使用burpsuite進行抓包,構造圖片木馬文件,然後通過burpsuite修改文件類型進行繞過檢測,最後使用菜刀進行連接獲取flag。

修改之後點擊Forward重傳數據包,此時回到瀏覽器頁面發現上傳失敗

說明不能通過僅僅修改文件類型進行繞過,那現在該怎麼辦呢?既然只要上傳圖片,那麼我麼可以構造圖片木馬進行文件上傳,使用如下圖方式進行製作木馬文件:

寫好語句之後保存,然後我們修改一下文件的擴展名爲 .jpg.php,現在再使用burpsuite進行抓包然後重傳數據包,使用%00截斷。

Forward重傳數據包之後,我們可以看到頁面回顯信息提示,文件上傳成功,並返回了一個文件名,我們來訪問一下這個文件名

訪問文件名之後,頁面信息空白,說明木馬可以執行,接下來我們使用菜刀來連接一下

添加連接之後我們可以看到我們所上傳文件的位置,另外最重要的是這裏有一個類似隱藏着flag的txt文件,我們來打開它

打開之後就是我們要的flag了。

總結:在CTFweb題中關於文件類的題目經常會是這種文件上傳漏送和文件包含漏洞一起使用,這時候就還是要合理利用方法,避免像我這樣兜兜轉轉一大圈然後最後使用簡單方法一樣能做的出來。另外在這個題目中,關於使用的木馬也是有要求的,不能使用最普遍使用的那個一句話木馬進行圖片木馬的製作,像<?php @eval($_POST['pass']);?> 這個木馬是沒法辦用的,也不是說沒辦法用,可以用但是最後菜刀連接不上我們的木馬文件,原因是,在解析過程中<php都被過濾掉了,這就很麻煩,這是用我們換一種木馬的寫法:<?=eval($_POST['shell']);這個木馬最後是可以連接的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章