ctfshow-web-红包题 辟邪剑谱

0x00 前言

  • CTF 加解密合集
  • CTF Web合集
  • 网络安全知识库
  • 溯源相关

文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取

0x01 题目

ctfshow-web-红包题 辟邪剑谱_第1张图片

0x02 Write Up

这道题主要是考察mysql查询绕过的问题。

首先访问后看到是一个登录页面,测试注册等无果

扫描目录,发现www.zip,下载看一下:

ctfshow-web-红包题 辟邪剑谱_第2张图片
发现这里注册接口处,user防护了,但是password没有防护,再看看登录逻辑,可以看到这里是以admin作为关键字搜索的
ctfshow-web-红包题 辟邪剑谱_第3张图片
那么这里就要说到mysql中where语句的缺陷了,where会忽略空格字符,意味着,"cs"和"cs "对于mysql来说是一样的

这里有一个非常重要的知识点哈,如果分配给CHAR或VARCHAR列的值超过列的最大长度,则对值进行裁剪以使其适合。如果被裁掉的字符不是空格,则会产生一条警告。如果裁剪非空格字符,则会造成错误(而不是警告)并通过使用严格SQL模式禁用值的插入。

但是如果我这个时候禁用了严格SQL模式,那么就会直接截断,不管后面是什么,这个才是这道题的解法。

设置非严格模式,配置文件加上sql_mode =""就行

poc:

user_name=admin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     1&user_password=123

ctfshow-web-红包题 辟邪剑谱_第4张图片
使用对应的账号密码登录即可获得flag

ctfshow-web-红包题 辟邪剑谱_第5张图片

0x03 other

欢迎大家关注我朋友的公众号 皓月当空w 分享漏洞情报以及各种学习资源,技能树,面试题等。

以上

你可能感兴趣的:(CTF,web,安全)