保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 服务器安全及应用 >> 正文

突破防注入的实验


  今天因为要测试一个自己写的一个代码。就自己搭建了一个最简单的有注入漏洞的网页。
  程序有javascript。在火狐的firebug里可以直接注入。
  主要是为了方便修改sql注入语句才写的。
  传统的工具,没有办法修改其中的代码。
  网上有个vbs注入程序,很好,但是下载下来有错,我修改了一下,可以运行了。
  但是在有session限制的情况下,没有办法利用。
  所有就想到了火狐的firebug。利用javascript在当前网页自动注入。
  代码很粗糙,测试了一下还可以。
  然后就装上了SQL通用防注入系统,neeao的3.1最终纪念版。
  发现里面过滤了很多的东西。连%这个网上流传的可以突破防注入的符号也给禁止了。
  感觉真是很麻烦。
  暂时没有想到好方法,只好利用了or注入方法才绕过。
  不知道还有没有其他的思路。
  
  我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与"'"号和"="号过滤的突破,虽然有点进步
  的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以也不敢对上述过滤的效果进行评论,但是可以肯定的是,效果不会很好......
  经过我的收集,大部分的防注入程序都过滤了以下关键字:
  and|select|update|chr|delete|%20from|;|insert|mid|
  master.|set|=
  而这里最难处理的就是select这个关键字了,那么我们怎样来突破他们呢?问题虽未完全解决,但还是说出来与大家分享一下,希望能抛砖引玉。
  对于关键字的过滤,以下是我收集的以及我个人的一些想法。
  
  1、运用编码技术绕过
  如URLEncode编码,ASCII编码绕过。例如or1=1即%6f%72%20%31%3d%31,而Test也可以为
  CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。
  2、通过空格绕过
  如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or'swords'='swords',由于mssql的松散性,我们可以把or'swords'之间的空格去掉,并不影响运行。
  3、运用字符串判断代替
  用经典的or1=1判断绕过,如or'swords'='swords',这个方法就是网上在讨论的。
  4、通过类型转换修饰符N绕过
  可以说这是一个不错的想法,他除了能在某种程度上绕过限制,而且还有别的作用,大家自己好好想想吧。关于利用,如or'swords'=N'swords',大写的N告诉mssqlserver字符串作为nvarchar类型,它起到类型转换的作用,并不影响注射语句本身,但是可以避过基于知识的模式匹配IDS。
  5、通过+号拆解字符串绕过效果值得考证,但毕竟是一种方法。如or'swords'='sw'+'ords';EXEC('IN'+'SERTINTO
  '+'.....')
  6、通过LIKE绕过
  以前怎么就没想到呢?如or'swords'LIKE'sw'!!!显然可以很轻松的绕过"="">"的限制......
  7、通过IN绕过
  与上面的LIKE的思路差不多,如or'swords'IN('s

《突破防注入的实验》
本文链接地址:http://www.oyaya.net/fanwen/view/141415.html

  • 上一篇范文: oblog 4.6 注入的语句
  • 下一篇范文: 十个慎入的管理领域

  • ★温馨提示:你可以返回到 服务器安全及应用 也可以利用本站页顶的站内搜索功能查找你想要的文章。