初探
打開首頁
簡單信息收集:
IP地址:美國加利福尼亞洛杉磯
無CDN
中間件:Nginx
80端口直接突破,故未進行端口掃描
滲透思路
一般這種BC站點,有幾種思路可以切入:
1)通過SQL注入查到管理員賬號密碼,掃描后台地址,進入后台getshell
這種BC站點一般是由thinkphp二次開發,很大概率會存在SQL注入
2)前台圖片上傳,配合IIS7.5與Nginx低版本解析漏洞
前台如果存在上傳功能,此時可以尋找是否存在解析漏洞,直接利用解析漏洞getshell
3)存儲型XSS盲打,進后台getshell
提交優惠申請,進行xss盲打,獲取管理員cookie和后台路徑,進后台getshell
4)后台弱口令 && 后台getshell
掃描到后台可以嘗試弱口令爆破,爆破成功進入后台getshell
簡單代碼審計
通過fuzz測試,發現站點不存在SQL注入,也不存在解析漏洞,但是發現了后台路徑 http://target.com/m/login/
后台限制了ip登錄,偽造XFF ip為服務器ip可成功繞過:
此時我們可以爆破后台,或者通過前台XSS盲打來突破,幸運的是,我們目錄掃描過程中發現了網站源碼備份文件,因此我們選擇優先審計源碼
源碼比較簡單,采用MVC框架編寫,代碼量也比較少,我們很快就發現了一處文件上傳功能
可以看出該處文件上傳限制不嚴,並且沒有做權限校驗,任何人都可以訪問這個接口,因此我們可以通過本地構造上傳表單來getshell
構造上傳表單:
<form enctype="multipart/form-data" action="http://target.com" method="post">
<input type="file" name="file" size="50"><br>
<input type="submit" value="Upload">
</form>
上傳圖片馬,抓包修改后綴為php
成功getshell
disable_functions限制了執行函數,無法執行命令
這里使用蟻劍插件繞過
至此本次滲透告一段落