• 分类

  • 重置

网站存在啊D注入工具的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 “<Script Language=JavaScript>alert(””你的IP已被记录,我们将在24小时内发送到中国网安进行IP分析.请自重!!\n\n””);window.close();</Script>”
    Case “2”
    Response.Write “<Script Language=JavaScript>location.href=””[color=Red]输入你的网页地址[/color]””</Script>”
    Case “3”
    Response.Write “<Script Language=JavaScript>alert(”” 你的IP已被记录,我们将在24小时内发送到中国网安进行IP分析.请自重!!””);location.href=””[color=Red]输入你的网页地址[/color]””;</Script>”
    End Select
    Response.End
    End If
    End If
    Next
    %>


    然后把此文件放到网站目录上去,然后在被发现有注入点的文件里,找到以下代码,
    <!–#include file=”***.***”–>
    注意,“***.***”为连接的文件,找到相关类似的代码即可,然后在后面添加一句
    <!–#include file=”checkSQL.asp”–>
    要注意checkSQL.asp所放在的路径,对应修改。完成后再用工具后在扫一次,确定不在被发现SQL注入点后,问题解决。

发表评论

发表评论