2013年6月1日星期六

绕过sql注入过滤的一些方法

绕过sql注入过滤的一些方法

对于Web安全一直以来都没有什么了解。本文也是讲的比较菜的技术。sql注入在很早很早以前是很常见的一个漏洞。后来随着安全水平的提 高,sql注入已经很少能够看到了。但是就在今天,还有很多网站带着sql注入漏洞在运行。稍微有点安全意识的朋友就应该懂得要做一下sql注入过滤。下 面是一些绕过sql注入过滤的一些方法(没有深入研究之意,所以只是集中简单的绕过sql注入过滤方法)
1. 绕过空格过滤
使用注释/**/来替换,类似C语言一样,C语言在编译之前注释会被用个空格替换。
select/**/pwd/**/from/**/usertable/**/where/**/id='admin'
2.绕过关键字过滤
很多人都对select, union操作关键字等进行了过滤,但是有可能没有考虑大小写的问题。
SeLeCT pwd from usertable where id='admin'
3.用编码绕过关键字过滤
可以把字符转换为%加上16进制的形式,如or 1=1即%6f%72%20%31%3d%31
4.使用char来绕过过滤
使用char(ASCII码)来替换字符,可以直接在MySql下工作。CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)为or 1=1的编码。
select pwd from usertable where id='root' + CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)
5.绕过其他一些过滤机制
有些朋友会把提交的数据中的敏感字直接删除,这个还是可以绕过的。例如,试图从提交数据中删除and,可以尝试提交anandd或者aandnd
6.对于or 1=1这样的语句还可以用字符串替换
select pwd from usertable where id='root' or 'haha'='haha'
或者
select pwd from usertable where id='root' or 'haha'='ha'+'ha'
暂时只是了解了这么一点,网上还有很多绕过过滤的文章,有兴趣的可以自己看吧。


本博客很少转载他人文章,如未特别标明,均为原创,转载请注明出处:
本文出自程序人生 >> 绕过sql注入过滤的一些方法

没有评论:

发表评论