题目描述:抓住那只猫
打开链接
攻防世界web进阶区Cat
刚开始以为是注入,但是发现好像都被过滤了
试着输入了loli.club,页面没反应,输了下127.0.0.1

攻防世界web进阶区Cat攻防世界web进阶区Cat

到这也不知道这题是在考啥
没办法,百度了下,是diango报错,是将输入的参数传到了后端的django服务中进行解析,而django设置了编码为gbk导致错误编码了宽字符(超过了ascii码范围)
所以这里可以传递%80,url编码使用的是16进制,80也就是128,ASCII码是从0-127,所以这个时候会报错
攻防世界web进阶区Cat
试着在报错页面找到一些信息

发现文件的绝对路径是/opt/api

django项目下一般有个settings.py文件是设置网站数据库路径且django项目生成时settings.py会存放在以项目目录下再以项目名称命名的文件夹下面,查看settings.py

@这个点属实是坑了啊
攻防世界web进阶区Cat

攻防世界web进阶区Cat再次读取
攻防世界web进阶区Cat

还是一堆,保存到文件里,查找替换

攻防世界web进阶区Cat
发现了flag

知识点:diango,url编码,宽字节临界值

参考文章:https://www..com/article/25091180481/

2020.7.30 公瑾

相关文章: