檢測(cè)工具:明小子旁注Domain V3.5
用工具檢測(cè)到網(wǎng)站存在SQL注入點(diǎn),那么如何進(jìn)行修補(bǔ)呢?
1.新建一個(gè)asp文件,寫入以下代碼,保存文件名為checkSQL.asp。
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
‘---定義部份 頭------
Fy_Cl = 3 ‘處理方式:1=提示信息,2=轉(zhuǎn)向頁面,3=先提示再轉(zhuǎn)向
Fy_Zx = "[color=Red]輸入你的網(wǎng)頁地址[/color]" ‘出錯(cuò)時(shí)轉(zhuǎn)向的頁面
‘---定義部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"‘")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
Case "1"
Response.Write "<Script Language=JavaScript>alert(‘你的IP已被記錄,我們將在24小時(shí)內(nèi)發(fā)送到中國(guó)網(wǎng)安進(jìn)行IP分析.請(qǐng)自重!!\n\n‘);window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href=‘[color=Red]輸入你的網(wǎng)頁地址[/color]‘</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(‘ 你的IP已被記錄,我們將在24小時(shí)內(nèi)發(fā)送到中國(guó)網(wǎng)安進(jìn)行IP分析.請(qǐng)自重?。 ?;location.href=‘[color=Red]輸入你的網(wǎng)頁地址[/color]‘;</Script>"
End Select
Response.End
End If
End If
Next
%>
然后把此文件放到網(wǎng)站目錄上去,然后在被發(fā)現(xiàn)有注入點(diǎn)的文件里,找到以下代碼,
<!--#include file="***.***"-->
注意,“***.***”為連接的文件,找到相關(guān)類似的代碼即可,然后在后面添加一句
<!--#include file="checkSQL.asp"-->
要注意checkSQL.asp所放在的路徑,對(duì)應(yīng)修改。完成后再用工具后在掃一次,確定不在被發(fā)現(xiàn)SQL注入點(diǎn)后,問題解決