请帮忙分析一段asp源代码漏洞!

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:10:41
<!--#include file=config.asp-->
<%
if not isobject(conn1) then
dim conn
dim dbpath
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath(filedata)
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
end if

qs=trim(request.ServerVariableS("QUERY_STRING"))
if isnull(qs) then
qs=""
end if
qs=lcase(qs)
if qs="id" then
sql="select count(*) from "&table2
counts=conn.execute(sql)(0)
conn.close
set conn=nothing
response.write cstr(counts)
response.end
end if

sarea=request("a")
sserver=request("s")
suser=request("u")
spsw=request("p")
srole=request("r")
slevel=request("l")
smoney=request("m")
spin=request("pin")
s

看了您的代码,知道完全可以添加。

如果不看代码,添加可能会困难点,但还是可以添加。

首先要做的就是“严禁外部提交数据”
就是检测提交页面的地址跟您的服务器地址是否匹配。

再就是字符串过符
sarea=request("a")
这种写法是非常危险的。一定要用标准写法,不要偷懒。
如果是表单就用:Request.Form("a")
如果是地址栏就用:Request.QueryString("a")

正确处理后,要严格过滤非法字符。

当然一个网站的安全还远不是这些。

注意:网站安全很适合“木桶理论”,就是说一个桶能装多少水不是去看桶的最高边沿,而是去看桶的最底边沿。就是说您的99个文件都是百度毒不浸,但只有一个文件忽略了,那之前的工作全部白作。