萬盛學電腦網

 萬盛學電腦網 >> 系統工具 >> 網站被sql注入的修復方法

網站被sql注入的修復方法

近日,網站頻頻被黑。在網站裡莫名其妙的多出一篇文 章,還有多出一組貼圖。正在納悶是誰可以登陸我的後台發表文章和圖片的時候,我的qq彈出消息,一個陌生人給我發消息,說我的網站有漏洞,還說是他弄了我 的網站。不過還好,他給我詳細說了黑我網站的方法,還提醒我好好修補修補,不然會被別人黑的。從他那得知,他用的是“啊D注入工具”,先找我的網站是否存 在可注入點,如果有,進行注入,能夠破解得到後台密碼。

當晚我把那個“啊D注入工具”下載下來研究,知道了他注入的原理,對網頁進行了一些修改,但是用工具一查,還是存在注入點。小蝦無能,只好上網搜索,找到了如下的方法,按如下修改後,再用“啊D注入工具”檢測,果然不存在注入點了。

下面是修補方法:

用工具檢測到網站存在SQL注入點,那麼如何進行修補呢?

1.新建一個asp文件,寫入以下代碼,保存文件名為checkSQL.asp。

<%

Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx

''''---定義部份 頭------

Fy_Cl = 3 ''''處理方式:1=提示信息,2=轉向頁面,3=先提示再轉向

Fy_Zx = "[color=Red]輸入你的網頁地址[/color]" ''''出錯時轉向的頁面

''''---定義部份 尾------

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 ""

Case "2"

Response.Write ""

Case "3"

Response.Write ""

End Select

Response.End

End If

End If

Next

%>

然後把此文件放到網站目錄上去,然後在被發現有注入點的文件裡,找到以下代碼,

注意,“***.***”為連接的文件,找到相關類似的代碼即可,然後在後面添加一句

要注意checkSQL.asp所放在的路徑,對應修改。完成後再用工具後在掃一次,確定不在被發現SQL注入點後,問題解決。

知識補充:所謂SQL注入,就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令,比如先前的很多影視網站洩露VIP會員密碼大多就是通過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊

copyright © 萬盛學電腦網 all rights reserved