存档

文章标签 ‘注入’

本文猫七博客首发,原文地址 http://www.miaoqiyuan.cn/p/bye-sql-bug。
03-05年,我一度沉迷于拿站,收藏了一大堆注入工具。当时自己比较菜,一直都不得要领,觉得猜表名什么的好神奇。。。为了纪念那些日志,我写一个猜表名的教程。先把原理说一下。
如果单是看表名,可能永远也不会看懂,实际所有类型的数据库(如:access,mssql)都有一些隐藏的系统表来保存表格信息。猜表名的核心就在这里。
比如以下的例子:

< %
id=request("id")
set rs=conn.execute("select * from news where id="&id)
....
%>

访问test.asp?id=1则显示第一篇文章。单是没有任何的过滤,如果提交的是 test.asp?id=1 and (select count(name) from msysobjects where type=1 and left(name,1)=’n’)呢?

select * from news where id=1 and (select count(name) from msysobjects where type=1 and left(name,1)=’n')

如果没有找到相关记录,说明没有表,正常显示呢?当然说明有记录哦,然后left(name,2)=’ne’;..用不了多大的功夫,数据库的所有表就都出来了哦。原理就是这么简单。。。。
刚看到网友小秦的留言,ASP访问Access数据库,确实没有读取的权限,看来Access猜表名只能靠运气了~,我当时只在Access里的查询的时候测试通过,忘了权限的问题。MSSQL猜表名有效

一 29th, 2010 | Filed under ASP, Share(分享)
标签: , , ,