当前位置: 首页 > article >正文

BUU28 [GXYCTF2019]BabySQli1

常规万能密码,发现登不上去 

过滤掉了or,=,当尝试了n种方法以后,最关键的是发现()居然也被过滤了

哈哈,那玩个淡,

再搜wp!!

当输入admin的时候,提示密码错误,这时候就说明用户名确实是admin

抓包发现有注释掉的内容,其实这个直接看源代码也行(但是又忘了这步)

这串代码先用base32解码,再用base64解码(菜还是得多练) 

二者区别: 

  • Base64
    • Base64 编码使用的字符集包含 A - Za - z0 - 9 以及 + 和 / 这 64 个字符。当编码的数据长度不是 3 的倍数时,会用 = 作为填充字符。
    • 例如,对字符串 "hello" 进行 Base64 编码后得到 "aGVsbG8=",其中可以看到编码结果中包含了字符集内的字母、数字以及填充字符 =。【两个等号也是它的标志】
  • Base32
    • Base32 编码使用的字符集是 A - Z 和 2 - 7 这 32 个字符。同样,当编码的数据长度不是 5 的倍数时,也会用 = 作为填充字符。通常不区分大小写
    • 比如,对字符串 "hello" 进行 Base32 编码后得到 "NBSWY3DP",编码结果只包含字符集内的大写字母和部分数字。

表有三列:

错误查询方式:1' and select 1,2,3#

在这个拼接后的语句中,and 关键字后面紧接着 select,这不符合 SQL 的语法规则。在 SQL 里,and 是用于连接条件表达式的逻辑运算符,而 select 是用于开始一个查询的关键字,它们不能这样直接组合在一起,所以会导致语法错误。 

正确查询: 1' union select 1,2,3#

如果SQL后台的代码长这样:

SELECT * FROM users WHERE name = '$name' AND pw = '$pw';

那么注入以后就是:

SELECT * FROM users WHERE name = '1' union select 1,'admin','47bce5c74f589f4867dbd57e9ca9f808'#' AND pw = 'aaa';

UNION 用于将两个或多个 SELECT 语句的结果集合并成一个结果集。要使用union,必须要使每个 SELECT 语句的列数相同。 

users 表的列数为 3 且数据类型兼容,注入的 SELECT 语句会与原 SELECT 语句的结果集合并。select 1,'admin','47bce5c74f589f4867dbd57e9ca9f808' 会返回一行数据,其中第一列值为 1,第二列值为 'admin',第三列值为 '47bce5c74f589f4867dbd57e9ca9f808'。应用程序可能会将这行数据当作合法的用户记录进行处理,攻击者可能会以 admin 用户的身份登录系统。

union做查询时,查询的数据不存在,那么联合查询就会创建一个虚拟的数据存放在数据库中

源代码中也有暗示:admin在数据表第二列,password在第三列

抄的另一种解法:


http://www.kler.cn/a/536238.html

相关文章:

  • DeepSeek回答禅宗三重境界重构交易认知
  • 蓝桥杯嵌入式备赛(三)—— LED +按键 + LCD
  • sentinel的限流原理
  • 仿LISP运算
  • “AI隐患识别系统,安全多了道“智能护盾”
  • esp32如何接入豆包
  • baigeiRSA
  • Ubuntu22.04操作系统4090显卡电脑本地化部署DeepSeek
  • 【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化
  • Vue3中watch和watchEffect的使用场景和区别
  • python编程-集合内置函数和filter(),集合常见操作
  • Springboot实现TLS双向认证
  • 网络安全基础知识|渗透测试和攻防演练的区别|WAF应用防火墙介绍以及部署方式
  • Python 操作列表思维导图
  • 搜维尔科技:Movella数字化运动领域的领先创新者
  • 机器学习数学基础:18.向量组及其线性组合
  • 【Unity3D Tab键实现切换输入框功能】
  • Docker的进程和Cgroup概念
  • 周六调休!!
  • 虚拟DOM与Diff算法:Vue如何高效更新UI?
  • java面向对象的程序设计,封装、继承、多态
  • 4. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务设计原则与最佳实践
  • MySQL主从复制原理及工作过程
  • [数据结构] Set的使用与注意事项
  • OpenBMC:可编译的硬件平台定义在哪
  • 安恒网安面试题来啦!