freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

SQLILABS-详解less-1
2024-02-27 15:43:53

一、搭建靶场

利用docker或者小皮以及xmapp等都可实现搭建

适应此靶场情况,mysql选择5版本,不然会出现报错数据库等问题,php使用phpmyadmin工具情况,可以使用php 5.7版本

二、通过访问域名显示正常,可用服务器映射互联网作为公网靶场

1709017555_65dd89d3e180b8ec11d27.png!small

点击重置靶场选项

1709017694_65dd8a5e76a5a4906cd18.png!small

1709017726_65dd8a7eb5cc747173b3f.png!small

如果出现问题,默认数据库配置root密码为空,修改和自己设置的密码一致即可

三、靶场实战

less-1,通过下面选项进行选择进入

1709017899_65dd8b2be63cf408c28b7.png!small

1709017951_65dd8b5fcaea5f3de35ac.png!small

根据提示给ID赋值,为了方便查看输出语句,源代码中添加了输出

SELECT * FROM users WHERE id='1' LIMIT 0,1

1709018059_65dd8bcbcef32d1014950.png!small

为了方便没有mysql数据库基础的朋友可以看明白,对语句进行了拆分

select *:选择所有列

from users:从users表中选择

where id = '1':选择ID列中值为1的数据

limit 0,1:从第一行开始取数据,取一行

通过查看数据进行验证

1709018484_65dd8d74d419cf86e928e.png!small

1709018544_65dd8db086248d679587c.png!small

四、代码审计

1709018684_65dd8e3cf1d186781522d.png!small

1709019524_65dd9184e0fd6c6c25a1e.png!small

常规sql注入方式,用单引号进行注入

1709018738_65dd8e7258bb146f25812.png!small

可通过order by来尝试确认对应列数,实际上从上面的图中已经确认为三列

其中--+作为常规数据库注释方法,用于简单绕过SQL注入的检测机制

1709018833_65dd8ed1d1c14b74553f0.png!small

1709018951_65dd8f47130755aa22605.png!small

如果是错误的列数情况,会展示如下图:

1709019149_65dd900d014e4c849ad6a.png!small

通过union联合注入方式操作,给ID赋予负值,用于执行后面语句

1709019274_65dd908a24ca56ba8b136.png!small

通过concat_ws来实现将用户名密码对应爆出

1709019388_65dd90fc45e7f906fc32a.png!small

# web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者