最近不少使用惊云下载系统的网站都受到注入式攻击,严重的甚至被人清空,给网站造成了巨大的损失。那么注入式攻击是怎么一回事呢,这里将做一定的介绍,同时给出响应的解决方法。欢迎高手们指正。
1、什么是注入式攻击
注入式攻击是通过传递一些带有特定的字符的参数来改变执行的SQL语句,从而达到破坏的效果。
2、如何来防范注入式攻击
注入式攻击主要是因为没有对request.QueryString带的参数进行验证,从而给攻击者有机会进行注入攻击。
下面就惊云下载系统说明如何防范注入式攻击:
惊云系统中主要有以下几页存在漏洞:
down.asp play.asp search.asp
对down.asp和play.asp我们可以通过加入以下代码对输入参数进行验证
将
if request("id")="" or request("no")="" then
response.write error
response.end
end if
代码前改为
Function isInt(str) '自定义验证函数,判断输入参数是否为整形
Dim L,I
isInt=False
If Trim(Str)="" Or IsNull(str) Then Exit Function
str=CStr(Trim(str))
L=Len(Str)
For I=1 To L
If Mid(Str,I,1)>"9" Or Mid(Str,I,1)<"0" Then Exit Function
Next
isInt=True
End Function
if isInt(request("id"))=False or isInt(request("no"))=False then
response.write error
response.end
end if
在search.asp中进行验证
在MDBpath="admin/"后面加入代码
Function CheckStr(Str)
If Trim(Str)="" Or IsNull(str) Then Exit Function
Checkstr=Replace(Trim(Str),"'","''")
Checkstr=Replace(Trim(Str),"%","''")
End Function
将所有类似request("str")="" ——str指参数名
替换为CheckStr(request("str"))=""

|