網(wǎng)站被sql注入的修復(fù)方法

2016-08-09 14:51:34 來源:互聯(lián)網(wǎng)作者:sou6 人氣: 次閱讀 267 條評(píng)論

近日,網(wǎng)站頻頻被黑。在網(wǎng)站里莫名其妙的多出一篇文章,還有多出一組貼圖。正在納悶是誰可以登陸我的后臺(tái)發(fā)表文章和圖片的時(shí)候,我的qq彈出消息,一個(gè)陌生人給我發(fā)消息,說我的網(wǎng)站有漏洞,還說是他弄了我的網(wǎng)站。不過還好,他給...

近日,網(wǎng)站頻頻被黑。在網(wǎng)站里莫名其妙的多出一篇文 章,還有多出一組貼圖。正在納悶是誰可以登陸我的后臺(tái)發(fā)表文章和圖片的時(shí)候,我的qq彈出消息,一個(gè)陌生人給我發(fā)消息,說我的網(wǎng)站有漏洞,還說是他弄了我 的網(wǎng)站。不過還好,他給我詳細(xì)說了黑我網(wǎng)站的方法,還提醒我好好修補(bǔ)修補(bǔ),不然會(huì)被別人黑的。從他那得知,他用的是“啊D注入工具”,先找我的網(wǎng)站是否存 在可注入點(diǎn),如果有,進(jìn)行注入,能夠破解得到后臺(tái)密碼。

當(dāng)晚我把那個(gè)“啊D注入工具”下載下來研究,知道了他注入的原理,對(duì)網(wǎng)頁進(jìn)行了一些修改,但是用工具一查,還是存在注入點(diǎn)。小蝦無能,只好上網(wǎng)搜索,找到了如下的方法,按如下修改后,再用“啊D注入工具”檢測(cè),果然不存在注入點(diǎn)了。

下面是修補(bǔ)方法:

用工具檢測(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 ""

Case "2"

Response.Write ""

Case "3"

Response.Write ""

End Select

Response.End

End If

End If

Next

%>

然后把此文件放到網(wǎng)站目錄上去,然后在被發(fā)現(xiàn)有注入點(diǎn)的文件里,找到以下代碼,

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

要注意checkSQL.asp所放在的路徑,對(duì)應(yīng)修改。完成后再用工具后在掃一次,確定不在被發(fā)現(xiàn)SQL注入點(diǎn)后,問題解決。

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

    無相關(guān)信息