SQL注入式攻击防范措施

前段时间公司网站被攻击了,介于此事件,我研究了一番风靡一时的SQL注入,传说他易攻难防,但个人感觉,只要自己在编程序时把安全性问题时刻记在 心里,任何对程序有恶意操作的举动,都不可以轻易得程。以下是我对防范SQL注入的几种措施,如有不足请及时留言通知,感激不尽!

 

SQL 注入式攻击:

 

恶意代码插入到字符串中,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。 任何构成 SQL 语句的过程都应进行注入漏洞检查。

详细请看:http://msdn.microsoft.com/zh-cn/library/ms161953(SQL.90).aspx

 

防范措施

 

1> 验证所有输入 ( Cookie,url 参数,FORM 表单 ) ,始终通过测试类型、长度、格式和范围来验证用户输入,实现多层验证。如果可能 单引号 双引号 分号 逗号 冒号 连接号 等进行转换或者过滤,验证 SQL 关键字时注意不区分大小写。

 

2> 在存储过程中使用参数化输入或在动态 SQL 中使用参数集合

SQL Server 中的 Parameters 集合提供了类型检查和长度验证。如果使用 Parameters 集合,则输入将被视为文字值而不是可执行代码,使用 Parameters 集合的另一个好处是可以强制执行类型和长度检查。范围以外的值将触发异常。

 

3> :验证上传文件内容

如果上传了图片后,不对该文件的内容采取任何判断的话,那么图片木马也很有可能被上传

 

4>: IIS 出错信息设置

IIS 设置成不管出什么样的错误,只给出一种错误提示信息,即 http 500 错误。 IIS 中为每个网站设置好执行权限,并做好日志记录。

 

5>: 最小权限连接数据库

如果 PUBLIC 权限足够使用的绝不给再高的权限。

 

6>: 删除没必要的系统存储过程

MSSQL 数据库系统集成了较多的存储过程,这些命令集方便了我们的操作当然也为攻击者入侵 Web 提供了便利。因此我们要根据需要删除某些在 Web 中用不到的,并且可被攻击者利用才存储过程。比如 xp_regread xp_dirtree 这两个存储过程可被攻击者用来读取注册表信息和列目录,我们可以删除。另外, xp_cmdshell 可被用来执行 DOS 命令比如建立系统帐户等等,是非常危险的。 sp_makwebtask 过程,可以读取 SQL SELECT 命令所得到的结果到表格形式的 HTML 文件中。这些比较危险可被攻击者利用的存储过程我们可以删除。比如删除 xp_cmdshell 可以执行 “exec master..sp_dropextendedproc xp_cmdshell” ,其它的类似

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abeniaj0427

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值