关于防SQL注入敏感词过滤问题
2017-08-02 15:16
344 查看
关于对字符的过滤问题sql查询条件过滤掉单引号是否就安全了呢?
在文章最后一段管理员做了敏感字符的过滤,管理员过滤掉了空格,而攻击者通过 /**/ 来代替空格绕过了过滤字符。感觉很有成就感,呵呵呵呵。真实环境中管理员发现了漏洞不太可能只过滤掉空格的。你不是注入吗?我把单引号、等于号、空格 一起都过滤掉,看你怎么办。。其实没用的,我相信现在还存在仅仅把单引号替换双单引号的网站。其 实在最好使用参数化查询和预编译查询语句来预防SQL注入,当然使用一些现成的框架也可以避免。通过过滤的手段要考虑周全,某一点没考虑到,就会被攻击者利用。
先看看这条SQL语句 DecLaRe @c vArchaR(8000);sEt @c=0x73656c656374204c454e282766776569776572272920;EXeC(@c);-- 猜猜看可以执行吗?
其实'0x73656c656374204c454e282766776569776572272920'是‘select LEN('fweiwer') ’ 转换成了16进制,数据库照样执行
看到这里大家都明白了吧。攻击者可以不用单引号来执行同带单引号语句有相同效果的命令,对付这样的语句如果过滤的话怎么做? (;@=0x 空格、关键字 通通都过滤掉吗? 这就安全了吗?不好说,谁知道还有哪些没想到呢。
在文章最后一段管理员做了敏感字符的过滤,管理员过滤掉了空格,而攻击者通过 /**/ 来代替空格绕过了过滤字符。感觉很有成就感,呵呵呵呵。真实环境中管理员发现了漏洞不太可能只过滤掉空格的。你不是注入吗?我把单引号、等于号、空格 一起都过滤掉,看你怎么办。。其实没用的,我相信现在还存在仅仅把单引号替换双单引号的网站。其 实在最好使用参数化查询和预编译查询语句来预防SQL注入,当然使用一些现成的框架也可以避免。通过过滤的手段要考虑周全,某一点没考虑到,就会被攻击者利用。
先看看这条SQL语句 DecLaRe @c vArchaR(8000);sEt @c=0x73656c656374204c454e282766776569776572272920;EXeC(@c);-- 猜猜看可以执行吗?
其实'0x73656c656374204c454e282766776569776572272920'是‘select LEN('fweiwer') ’ 转换成了16进制,数据库照样执行
看到这里大家都明白了吧。攻击者可以不用单引号来执行同带单引号语句有相同效果的命令,对付这样的语句如果过滤的话怎么做? (;@=0x 空格、关键字 通通都过滤掉吗? 这就安全了吗?不好说,谁知道还有哪些没想到呢。
相关文章推荐
- 平台即服务,PAAS,关于shrio中权限过滤的问题
- 正则匹配问题(power8竞赛敏感词过滤)
- 关于设置登录过滤权限后 css和js无法加载问题
- 关于TreeView的问题(数据过滤后取不到数据)
- Access中关于大小写敏感查询的问题及解决方案
- 关于google adsense 几个敏感问题
- 关于odbc连接orcal,用户名密码大小写敏感问题
- 关于java过滤微信emoji表情的问题解决方法
- 关于PHP中禁止敏感数据的注册问题
- 献给所有cognos新手 关于 : 基于维度(cube)建立的报表的过滤条件参数 解决OP-ERR-0217 问题
- 关于键盘过滤驱动中写入文件乱码的问题的解决!
- 关于Google浏览器添加QQ电脑管家广告过滤插件出现2345主页拦截问题
- php pgsql查询关于表名大小写敏感问题笔记
- 关于spark读取elasticsearch中数据,但是无法实现过滤数据的问题
- 关于stringByReplacingCharactersInRange过滤字符串的问题
- 关于SVN上传代码,.so文件.a文件自动被过滤的问题
- 关于编写过滤器Filter对乱码进行GBK过滤,网页不显示任何东西的问题
- 关于ArcGIS Runtime SDK for iOS中AGSLayerDefinition使用日期类型字段过滤的问题
- 关于Sql Server中字符串比较大小写敏感的问题
- 关于脏字典过滤问题-用正则表达式来过滤脏数据