如何防范SQL注入式攻击

如何防范SQL注入式攻击:

网站要怎么防范最最常见SQL注入式攻击呢,我们先从SQL注入式攻击的原理来说起。

网站遭受SQL注入式攻击的基本原理:

1.没有正确过滤特殊字符,例如单引号和分号 如果你的sql语句是这样,又没过滤“’”单引号: "SELECT * FROM tables WHERE param = '" + RequestString+ "'; " 攻击者将用户名变量(即RequestString)设置为: a' or 't'='t 此时原始语句发生了变化: SELECT * FROM tables WHERE param = 'a' OR 't'='t'; 如果这种代码被用于一个认证过程,那么这个例子就能够强迫选择一个合法的用户名,因为赋值't'='t永远是正确的。 这种方式是跳过身份认证的最简单手段 再配合“;”分号可以进行更多的sql注入攻击 ";"分号用来执行多个语句。下面语句中的RequestString的值将会导致删除“tables”表, 又可以从“dataTables”表中选择所有的数据(实际上就是透露了每一个用户的信息)。 a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '% 这就将最终的SQL语句变成下面这个样子: SELECT * FROM tables WHERE param = 'a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '%'; 通过这种原理可以执行很多很多攻击了。 2.不正确处理变量类型 如果一个用户提供的字段并非一个强类型,或者没有实施类型强制,就会发生这种形式的攻击。当在一个SQL语句中使用一个数字字段时,如果程序员没有检查用户输入的合法性(是否为数字型)就会发生这种攻击。 例如:“SELECT * FROM tables WHERE id = " + RequestID + "; " 从这个语句可以看出,作者希望RequestID是一个数字。 不过,如果终端用户选择一个字符串,就绕过了对转义字符的需要。 例 如,将RequestID设置为 1; DROP TABLE tables 就不需要上面说的“‘”单引号了,照样可以进行攻击:会将“tables”表从数据库中删除, SQL语句变成:SELECT * FROM DATA WHERE id = 1; DROP TABLE users; 网站遭受SQL注入式攻击的基本方式: 1.最常见的也就是在查询字符串中直接输入SQL攻击字符串。 例如:page.asp?id=Num and exists (select * from [admin]) 2.其次就是在FORM表单中提交的SQL注入攻击字段。 3.通过COOKIE绕过一些放注入的脚本程序 例如:javascript:alert(document.cookie="id="+escape("这就是asp? id=xx后面xx代表的数值) and (这里是注入攻击代码)")); 4.还有就是上面几种的攻击通过16进制编码后,绕过SQL注入检测的脚本程序 page.asp?id=Num;DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0x4400650063006C0061007200650020004000540020005600610072006300680061007200280032003500350029002C0040004

300200056006100720063006800610072002800320035003500290020004400650063006C0061007200650020005400610062006

C0065005F0043007500720073006F00720020004300750072007300'

这种可以跳过敏感字符的判断和SQL关键词的判断。

总结一下,要防止SQL注入主要是要在查询字符串(QueryString),表单数据(PostData)以及Cookie甚至HTTP报头(Header)中防止掉一些特殊字符(单引号,分号)以及SQL语言的关键字,以及防止他们使用16进制编码。

用ASP或者PHP脚本来实现上面的这些想起来就很麻烦。下面就来介绍下用一个第三方工具IISUTM来处理上面我们说到的问题。

准备工作:先去www.iisutm.com下载最新的IISUTM版本。

根据IISUTM网站防火墙安装及操作手册 中的说明把IISUTM部署到你的服务器上来,这里需要注意的是使用Windows 2003+iis6的服务器,需要开启iis中“以IIS5.0 隔离模式运行 www 服务”选项才能正常使用该软件。

安装完成,通过浏览器访问IISUTM的配置管理界面默认的是http://127.0.0.1:8362,这个是私有地址,只能在该服务器上访问,你需要任何地方都能访问的话,可以在安装的时候IP地址的选项那里填入你服务器的公网IP地址,和你所开放的端口。这样你就可以通过你配置的地址进行访问,或者你可以在iis中直接管理名为IISUTM的站点。

登陆管理界面后点击上面导航栏中的“基本设置”,然后点击左边菜单的“防SQL注入”链接。

开启该链接里所有的选项,选中之后IISUTM会自动保存配置,下面的SQL注入关键字是该软件提供的SQL注入关键字以及特殊符号的特征库,你可以根据你网站的情况进行更改(最好不要修改)。IISUTM会自动拒绝16进制的编码。

确认以上的配置以后,你可以返回到IISUTM管理界面的首页,这里会列出最近服务器遭受到的攻击以及详细,赶紧去看看你的网站是不是随时有人在进行SQL注入吧,以及哪些攻击被IISUTM处理掉了。  

 

骆驼和宙斯的故事MP3下载-亲宝听app是母婴行业具影响力的网站亲亲宝贝网强烈推荐的儿童教育软件,亲宝听内容丰富,经典儿歌、英文启蒙、热门精品动画、诗词国学、成语故事、睡前故事全都有,正版资源,高清音质,儿童专属画风,精选内容寓教于乐,宝宝开心!爸妈放心!喜欢的用户欢迎下载,您可以免费下载安卓手机骆驼和宙斯的故事MP3。
2021-10-20
​近期绝地求生未来之役上线了国际服,许多玩家们纷纷被吸引加入,但是游玩的过程并没有那么方便,那么绝地求生未来之役国服什么时候上线,绝地求生2国服什么时候出呢?就让小编带你解答一下吧。,绝地求生未来之役国服什么时候上线 绝地求生2国服什么时候出
2021-11-16
朝霞AI绘画app下载安装-朝霞AI绘画app是一款非常好用专业的手AI绘画软件,朝霞AI绘画app功能十分强大,内置多款艺术风格,可以帮助用户快速生成绘画作品,支持文生图,图生图模式,轻松生成满意的艺术绘画效果,满足用户的绘画需求。,您可以免费下载安卓手机朝霞AI绘画。
2023-06-28
亚滴小助手下载安装-亚滴小助手app是一款为司机打造的一款司机接单软件,亚滴小助手app为用户提供接单数据查询、业绩报表查询、专车司机任务管理等功能,亚滴小助手app大大的方便了你的工作效率,您可以免费下载安卓手机亚滴小助手。
2020-04-24
这是警察游戏中有一个BUG,玩家们可以利用它来刷钱,那么具体怎么卡BUG刷钱呢?下面就来分享一下这是警察bug黑帮分红方法,希望大家可以玩得开心,这是警察bug黑帮分红方法介绍 这是警察怎么刷钱
2016-08-25
外卖邦门店宝app下载-外卖邦门店宝app是一款店铺管理软件。外卖邦门店宝app帮助店长管理门店菜品,门店营业额、订单数据汇总,菜品销售数据统计,门店线上运营一站式服务方便快捷,您可以免费下载安卓手机外卖邦门店宝。
2023-07-14
沃克校园app下载-沃克校园app是一款服务于高校学生的校园生活管理软件,实现手机缴纳学费、订餐、洗衣等,还可以随时发布失物招领信息,了解学校动态,您可以免费下载安卓手机沃克校园。
2020-12-19
CozyLife智能家居系统app下载-CozyLife智能家居系统一款支持各种类型智能家居的管理控制软件,支持各种联动,你可以享受到个性化的智能服务,海量设备快速互联,使用方便,一个APP即可轻松控制家里多个电器,快来下载吧。,您可以免费下载安卓手机CozyLife智能家居系统。
2023-02-20
易直帮免费下载-易直帮app是一款非常不错的人脉推广扩展平台。在易直帮软件上你可以了解很多有关营销推广的资讯,与其他用户交流沟通,帮你拓展人脉圈,迅速打开你的营销推广道路,您可以免费下载安卓手机易直帮。
2019-07-24
华硕游戏精灵app下载-GameGenie华硕游戏精灵app是一款游戏加速客户端应用,利用华硕游戏精灵玩家就可以快速进行直播录屏,记录您玩游戏的精彩瞬间一键分享,并且华硕游戏精灵强大的加速功能,为您打造一个最佳的游戏体验,实用的游戏攻略让您尽情玩转游戏,您可以免费下载安卓手机Game Genie华硕游戏精灵。
2016-09-23