文档库 最新最全的文档下载
当前位置:文档库 › 手工注入进阶大法

手工注入进阶大法

最近学注入,查了很多资料,现在我加上我的见解,根据一些资料的理论给大家讲下怎样不用猜解表段得到表段名!我们知道,要得到该站的管理员用户名及密码,他们所在的表及字段名很关键,得到了他们,要得到密码帐号只是时间问题了! 论坛里的帖子大多说用一些常见的如admin猜,那效率...ToT如果管理员就用常见的还好,如果不是的话,猜到猴年马月也猜不到,那怎么办?OK!看下面方法!很长,打字很累,既然看了,不回帖也看完吧!首先,这方法适用于SQL Server数据库服务器,并打开了报错模式,用经典的and 1=1后找到有注入点的网页,看下是不是SQL Server数据服务器,在URL后加 and user>0后报错的话,恭喜!是SQL Server数据库服务器,且打开了报错模式,可以下一步了,否则,就有可能没打开报错模式,或是Access数据库服务器,这方法也可鉴别网站用的是哪种数据服务器!好,确定可以注入了,进行下一步吧!一个网站或许有若干的数据库,存放管理员密码帐号的字段就在某个库里的某张表里,我们先把所有库名给弄到手,注意,我这里不是猜,是让它自己“说”出来,看我怎么让它把数据库名一个一个的报出来的吧!在URL后加这么一句%20and%200<>(select%20count(*)%20from%20master.dbo.sysdatabases%20where%20name>1%20and%20dbid=n)注:“%20”为空格好,这句让他报错数据库id为n的数据库名,在报错信息中“在将nvarchar值'XXX'转换成数据类型int时失败”这句就把dbid为n的数据库名说出来了,XXX就是咯!接着,我们更改dbid后的n就可得到所有数据库名了,提示下,n值选在5后,从6开始,因为1-5为系统库,管理员密码帐号在dbid为6以后的用户自建库里的,是哪个库你自己看着办咯!^_^得到库名了,我们来看看表,密码帐号在哪个表呢?我们先把我们确定库里的所有表名让它也给说出来吧!在URL后加%20and%200<>(select%20top%201%20name%20from%20你确定的库名.dbo.sysobjects%20where%20xtype='U'后看报错,其中“在将nvarchar值'xxx'转换成int时失败”这句又把该库中的一个表名给爆出来啦!接着,把所有的表名都弄出来,在URL后加%20and%200<>(select%20top%201%20name%20from%20你确定的库名.dbo.sysobjects%20where%20xtype='U'%20and%20name%20not%20in('刚得到的表名'))后又爆出一个表名,其它的,把得到的表名用逗号隔开放进not in后的()里用单引引上即可!管理员密码帐号在哪个表还得你看着办!OK,得到表名了,看管理员帐号密码分别在那个字段吧!在URL后加'%20group%20by%20你确定的表名.aaa%20having%201=1%20--后,报错中,依旧还是转换错误,错误的值就是这表里其中一个字段啦!再得到其他字段,在URL后加'%20group%20by%20

表名.得到的字段1.表名.得到的字段2%20having%201=1%20--依此类推,就可得到所有的字段名了,哈哈,密码帐号在哪个字段还看你!~_~!知道密码帐号的字段后,接下来就容易啦!怎么办,看其它帖吧,手可吃不消啦!呵呵,比你猜好多了吧!拿站注意人品哦!

相关文档