環境
攻擊機:192.168.96.4
靶機:ip未知
主機探測
確定靶機ip為32的主機
端口掃描
訪問80端口
外圍打點

在contact.php頁面源碼中找到了flag1
之后沒啥突破
但查看網絡后發現contact.php頁面請求的三個js文件的文件名很有特點,猜測是base64編碼
對其進行拼接發現是flag2
?對flag2的內容進行解碼
猜測是路徑,因為服務器僅僅開放了80端口,應該不是用戶名
對ip和上述路徑進行拼接,并訪問,得到一個登錄界面
作者提示用戶驗證沒有使用sql,而是使用的是PHP的硬編碼
在PHP中硬編碼存在三種方式==、===、strcmp函數
其中strcmp函數存在漏洞,當使用strcmp函數對字符串和數組進行比較的時候,PHP低于5.2的版本會返回-1
嘗試利用數組登錄,之前收集到的用戶名有
- roger
- rmichaels
- akeith
- estone
成功登陸rmichaels用戶,拿到flag3
對flag3的內容進行解密
對url的參數進行修改,發現有報錯,可能存在SQL注入
使用sqlmap對其進行測試
sqlmap -u "http://192.168.96.32/imfadministrator/cms.php?pagename=home" --cookie "PHPSESSID=kde2npe0ejb05ee474afu5ksk6" --level=5 --risk=3 --dbs --batch --dump
發現一張圖片的路徑
訪問
拿到二維碼中的信息
flag4{dXBsb2Fkcjk0Mi5waHA=}
繼續解碼
訪問這個文件,是一個文件上傳的頁面,應該需要進行一句話木馬的上傳
通過制造圖片馬以及對eval函數的繞過,成功上傳了圖片
這里還可以使用weevely工具
weevely生成php木馬
修改圖片后綴為gif,并且在文件內容的開始添加GIF89a來繞過內容的檢測
之后成功上傳
發現返回頁面的源碼中有注釋,是文件上傳后對應的文件名
使用weevely工具連接,成功拿到www-data用戶的權限shell,文件的上傳路徑可以通過掃描后臺目錄得出
拿到flag5
解密flag5的內容
提權
此靶場一般有兩種方式進行提權,一種是內核漏洞提權,另外一種是通過端口試探技術開啟特定的端口服務,通過此程序的緩沖區溢出漏洞進行提權
但嘗試了幾次均不成功,水平不夠,之后需要加強權限提升的能力。