打開環境之后是一個登錄界面,賬號密碼可以爆破,admin/admin888,進入之后也沒有什么東西
我們查看登錄界面的源代碼
猜測有任意文件下載漏洞
get請求死活下載不了東西,換成POST就可以了,不知道為什么,此處采用hackbar進行POST傳輸參數
下載了help.docx文檔之后還是沒有任何發現。
因為下載頁面是Java頁面,這里考察了java web的基礎知識,這里貼上一個師傅的博客
ctf/web源碼泄露及利用辦法【總結中】
https://blog.csdn.net/wy_97/article/details/78165051
簡單來說
WEB-INF主要包含一下文件或目錄: /WEB-INF/web.xml:Web應用程序配置文件,描述了 servlet 和其他的應用組件配置及命名規則。 /WEB-INF/classes/:含了站點所有用的 class 文件,包括 servlet class 和非servlet class,他們不能包含在 .jar文件中 /WEB-INF/lib/:存放web應用需要的各種JAR文件,放置僅在這個應用中要求使用的jar文件,如數據庫驅動jar文件 /WEB-INF/src/:源碼目錄,按照包名結構放置各個java文件。 /WEB-INF/database.properties:數據庫配置文件 漏洞檢測以及利用方法:通過找到web.xml文件,推斷class文件的路徑,最后直接class文件,在通過反編譯class文件,得到網站源碼
所以我們首先讀取初始化配置信息/WEB-INF/web.xml
下載了之后內容如圖,並且里面顯示了一個/Flag
讀取class文件,沒有java web的開發經驗,所以這里只能跟着別的師傅的payload寫了,應該是從web.xml里面推測出來classes下面的文件,從而進行讀取對應的.class文件
filename=/WEB-INF/classes/com/wm/ctf/FlagController.class
POST下載文件
將其中的base64編碼對應解碼即可