今天网站SQL被注入了 高手给点方法 老大也来给点。。

[复制链接]
今天网站又被SQL注入机注入了
  很奇怪的是 同样用这样的程序的人也被注入!
  大家有没有什么好的防止注入的办法!
  发写贴 举手之劳!
  我会记住你的!
我相信群里的很多虎友都想要这个答案!
  高手回帖!!!
   先说: 谢谢!1
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏
收藏0
本帖违规,我要举报
举报本帖
免责声明:
本站资源均来源于网络或是会员上传,版权和著作权归原作者所有,如有不愿意被转载,请点击这里通知我们第一时间删除!
所有资源仅供下载后在本地学习研究参考使用!您必须在下载资源后的24个小时之内,从您的电脑中彻底删除。
所有资源不能用于任何商业和非法目的,否则一切后果请用户自负。如您需要商用,请支持和购买正版,本站不对您的使用负任何责任!
会员所发布的信息中如有涉及到具体的第三方个人(单位/公司)隐私、商业秘密等,侵犯其权益,对其构成不良影响的,本站有权不做通知直接删除!

精彩评论4

跳转到指定楼层
#沙发
jzf5201314 发表于 2008-12-15 22:01:14 | 只看该作者
沙发支持下
#板凳
souho 发表于 2008-12-15 23:16:08 | 只看该作者
你可以到网上找个才通用的防注入系统,一般代码如下:<%

Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name

'------定义部份 头----------------------------------------------------------------------

Err_Message = 1 '处理方式:1=提示信息,2=转向页面,3=先提示再转向

Err_Web = \"Err.Asp\" '出错时转向的页面

Query_Badword=\"'∥and∥select∥update∥chr∥delete∥%20from∥;∥insert∥mid∥master.∥set∥chr(37)∥=\"

'在这部份定义get非法参数,使用\"∥\"号间隔

Form_Badword=\"'∥%∥&∥*∥#∥(∥)∥=\" '在这部份定义post非法参数,使用\"∥\"号间隔

'------定义部份 尾-----------------------------------------------------------------------
'
On Error Resume Next

'----- 对 get query 值 的过滤.

if request.QueryString<>\"\" then
Chk_badword=split(Query_Badword,\"∥\")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case \"1\"
Response.Write \"<Script Language=JavaScript>alert('传参错误!参数 \"&name&\" 的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');window.close();</Script>\"
Case \"2\"
Response.Write \"<Script Language=JavaScript>location.href='\"&Err_Web&\"'</Script>\"
Case \"3\"
Response.Write \"<Script Language=JavaScript>alert('传参错误!参数 \"&name&\"的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');location.href='\"&Err_Web&\"';</Script>\"
End Select
Response.End
End If
NEXT
NEXT
End if

'-----对 post 表 单值的过滤.

if request.form<>\"\" then
Chk_badword=split(Form_Badword,\"∥\")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case \"1\"
Response.Write \"<Script Language=JavaScript>alert('出错了!表单 \"&name&\" 的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( ) 等非法字符!');window.close();</Script>\"
Case \"2\"
Response.Write \"<Script Language=JavaScript>location.href='\"&Err_Web&\"'</Script>\"
Case \"3\"
Response.Write \"<Script Language=JavaScript>alert('出错了!参数 \"&name&\"的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( ) 等非法字符!');location.href='\"&Err_Web&\"';</Script>\"
End Select
Response.End
End If
NEXT
NEXT
end if
%>你可以复制以上代码保存为Check_Sql.asp
然后你可以在数据库连接文件中引用这个文件,方式如下:
<!--#Include File="Check_Sql.asp"-->
(这2个文件要放同一根目录下)
当然了,这个系统也不是万能的,因为它只能防止get和post非法提交,而有的系统可以通过Cookle来突破这个系统(比如网趣购物商城就有这个漏洞)
总来来说,运用这个系统还是比没用要安全的多了
实际中要想很好的防程序被注入,就需要你把用户在客户端提交过来的数据进行严格的检查并把危险的Html字符过滤掉
#地板
3884142 发表于 2008-12-15 23:40:35 | 只看该作者
听君一席话、胜读十年书!
#地窖
 楼主| signed 发表于 2008-12-16 08:11:50 | 只看该作者
谢谢老大!!!
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关注0

粉丝3

帖子0

发布主题
15年专注源码提供
侵权投诉处理

点击这里投诉侵权

周一至周日10:00-21:00

反馈建议/违规信息举报

webmaster@souho.net 在线客服咨询

扫描二维码关注我们

严禁任何人以任何形式在本站发表与我国法律相抵触的言论!本站资源仅供本地学习研究,禁止用于任何违法犯罪活动!

搜虎源码所有资源来自网络收集整理,版权和著作权归原作者所有,仅供本地研究学习。若有侵权,请联系管理员及时删除!

所有资源严禁用于任何商业目的,否则一切后果请用户自负。如您需要商用,请支持和购买正版,本站不对您的使用负任何责任!

如会员所发布的信息中有涉及到具体的第三方个人(单位/公司)隐私、商业秘密等,侵犯其权益,对其构成不良影响的,本站有权不做通知将该信息予以直接删除处理!

网站备案号: 鄂ICP备17009394号-2