本文主要是介绍ctfshow-web-红包题 辟邪剑谱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
0x00 前言
- CTF 加解密合集
- CTF Web合集
- 网络安全知识库
- 溯源相关
文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取
0x01 题目
0x02 Write Up
这道题主要是考察mysql查询绕过的问题。
首先访问后看到是一个登录页面,测试注册等无果
扫描目录,发现www.zip,下载看一下:
发现这里注册接口处,user防护了,但是password没有防护,再看看登录逻辑,可以看到这里是以admin作为关键字搜索的
那么这里就要说到mysql中where语句的缺陷了,where会忽略空格字符,意味着,"cs"和"cs "对于mysql来说是一样的
这里有一个非常重要的知识点哈,如果分配给CHAR或VARCHAR列的值超过列的最大长度,则对值进行裁剪以使其适合。如果被裁掉的字符不是空格,则会产生一条警告。如果裁剪非空格字符,则会造成错误(而不是警告)并通过使用严格SQL模式禁用值的插入。
但是如果我这个时候禁用了严格SQL模式,那么就会直接截断,不管后面是什么,这个才是这道题的解法。
设置非严格模式,配置文件加上sql_mode =""
就行
poc:
user_name=admin 1&user_password=123
使用对应的账号密码登录即可获得flag
0x03 other
欢迎大家关注我朋友的公众号 皓月当空w 分享漏洞情报以及各种学习资源,技能树,面试题等。
以上
这篇关于ctfshow-web-红包题 辟邪剑谱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!