mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练

0x02 MYSQL 手工注入实战——基于错误的 SQL 注入

前言,之前有对MYSQL基于报错的手工注入进行过介绍,但今天的实验环境,并不是基于报错的SQL注入,而是一个基于布尔的SQL盲注测试流程。

这个网站的SQL注入漏洞,大概1年前就有人发现过了,我也是在找环境的过程中,突然发现的。这个网站是存在WAF的(WTS-WAF)

但是这个WAF并不是很管用,只是把空格与某些重要函数放到了黑名单里面:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第1张图片

废话不多说,直接上手操作吧:

(1)首先确定如何闭合SQL语句:

这个网站我再试探闭合语句的时候,发现它的SQL语句是不需要故意去闭合的,所以我们可以直接在URL后面加自己想要的语句

(2)这里用?id=10 and 1=1去试探,发现返回了WAF警告,那我们用+去替代掉空格

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第2张图片

(2)测试成功后,order by 查字段数:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第3张图片

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第4张图片

查询出字段数为14

(3)查询可显字段名:有两个位置可以显示出来

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第5张图片

(4)查询当前数据库:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第6张图片

(5)查当前数据库所有表名:

发现它把group_concat()函数,放入了黑名单:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第7张图片

既然不能一次性查出来,又想要练习手工的话,那就一个一个查吧:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第8张图片

blank.php?id=-10+union+select+1,2,3,4,5,6,7,unhex(Hex(cast(table_name+as+char)))table_name,9,10,11,12,13,14+from+information_schema.tables+where+table_schema=database()+limit 0,1--+

查了20多个表出来,这里只需要找到几个比较重要的就行:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第9张图片

(6)查指定表名的字段名:

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第10张图片

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第11张图片

(7)查指定字段的内容:

这里为了不一个一个字段去查,用concat_ws()函数,一起把关键字段内容提取了出来

mysql 手工报错注入_MYSQL手工注入(详细步骤)—(2)实战演练_第12张图片

0x03 未完待续

原文:https://www.cnblogs.com/-mo-/p/11198386.html

你可能感兴趣的:(mysql,手工报错注入)