【SQL注入漏洞简单防范】
现在网络上比较流行的SQL注入工具的工作方式是通过GET和POST来完成具体的注入的,如果我们将注入时所用到的一些特殊符号过滤掉,那注入工具就没用了,从而达到了防注入的目的。比如针对GET提交方式进行注入的防范代码如下:
| 以下是引用片段: dim sql_injdata SQL_inj SQL_Get
SQL_injdata = "’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language=JavaScript>alert(’请不要在参数中包含非法字符尝试注入!’);history.back(-1)</Script>"
Response.end
end if
next
Next
End If |
同样,POST的也要检测,注意这里很灵活的,只要把与注入有关的关键词写到SQL_injdata里再用”|”隔开就可以了。许多朋友甚至不会写代码怎么办,别急,有通用的防注入程序啦。这里笔者将为你介绍通用防注入程序是由火狐技术联盟枫知秋[F.S.T]所写的通用防注入程序2.0完美版,还是拿雨点下载系统的list.asp做例子,在此文件的页面头部用 调用即可。我们再手工测试下其注入漏洞:
在后面加一个‘测试出现如下画面,见图3:
点确定后返回如下信息,见图4:
如果要查看相关攻击信息的话,可以去看数据库里的记录,如图5:
|
软件频道-工具软件&网络安全精品推荐 | |||
|
|
|
![]() |
|
![]() |
|
|