问题是,.用阿D注入工具能扫描出可以注入的页面.
比如: 可注入页面:
index.asp?id=1
news.asp?id=7
这样的页面
请问用什么代码可以扫描不出来呢?
解决方案:
如果获取的是id的话防注入可以这样操作
<%id=request("id")
if id<>"" then
if not isnumeric(id) then
response.write "参数错误!"
respone.end
else
id=int(id)
end if
else
response.write "参数不能为空!"
response.end
end if
%>
如果是字符的话可以采用如下代码:
<%
dim qs,errc,iii
qs=request.servervariables("query_string")
dim nothis(18)
nothis(0)="net user"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="net localgroup administrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)="'"
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="and user>0"
errc=false
for iii= 0 to ubound(nothis)
if instr(qs,nothis(iii))<>0 then
errc=true
end if
next
if errc then
response.write("对不起,非法URL地址请求!!")
response.end
end if
%>
建议两个一起用
更多的ASP防注入的办法请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2011-9-11