攻防世界 | CAT

来自攻防世界官方WP | darkless师傅版本

题目描述

抓住那只猫

思路

打开页面,有个输入框输入域名,输入baidu.com进行测试

发现无任何回显,输入127.0.0.1进行测试。

发现已经执行成功,执行的是一个ping命令,一开始想的应该是命令拼接执行,但是输入任何有关拼接的字符串都会提示invalid url

说明系统对这些字符串都进行了过滤,fuzz测试后发现只有@没有被过滤。

且当输入@时,会将@编码为%40

尝试在url处输入宽字符,比如%bf

出现报错信息,是一段html代码,将这些代码复制出来打开。

看到了熟悉的django报错页面,看来是将输入的参数传到了后端的django服务中进行解析,而django设置了编码为gbk导致错误编码了宽字符(超过了ascii码范围)。

到这一步后,联系到前面的@字符没有被过滤,然后看了大佬们的解题思路(这里太坑了,原题目上其实是由提示的)

意思是可以用@读取文件内容。

结合django的报错得知了项目的绝对路径为/opt/api

这里还需要懂一些django开发的基本知识,我感觉这道题涉及的面有点广了,django项目下一般有个settings.py文件是设置网站数据库路径(django默认使用的的是sqlites数据库),如果使用的是其它数据库的话settings.py则设置用户名和密码。除此外settings.py还会对项目整体的设置进行定义。

读取settings.py文件,这里需要注意django项目生成时settings.py会存放在以项目目录下再以项目名称命名的文件夹下面。

同上将报错信息已html文件打开,可看到一些敏感信息:

同样在使用@读取数据库信息

在报错信息中搜索CTF得到flag。

以上就是这道题的解法,我只能说大佬们的思路真野!



其他资料:

  • Django 是用python语言写的开源web开发框架

原文地址:https://www.cnblogs.com/chrysanthemum/p/11480150.html

时间: 2024-10-31 02:24:23

攻防世界 | CAT的相关文章

攻防世界 ics-05

攻防世界 ics-05 题目描述:其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统 1.进入工控云管理系统设备维护中心(其他标签点击无反应) 2.查看源码无果发现可以点击 云平台维护中心 url出现page=index 想到文件包含漏洞(URL中出现path.dir.file.pag.page.archive.p.eng.语言文件等相关关键字眼) 3.利用php伪协议查看源码  出现一段base64源码,进行转码得出源码 ?page=php://filter/read=convert.b

CTF--web 攻防世界web题 robots backup

攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5063 百度 robots协议 robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它[1]  .robots.txt是一个协议,而不是一个命令.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.robots.txt文件

攻防世界pwn之新手练习区

0x00 get_shell 题目描述:运行就能拿到shell呢,真的 from pwn import * io = remote('111.198.29.45','36389') io.interactive() 0x01 CGfsb 题目描述:菜鸡面对着pringf发愁,他不知道prinf除了输出还有什么作用 1.基本信息: 2.ida查看伪代码,按照题目的提示在主函数找到了printf函数,可以明显的看到ptintf没有按照标准格式 printf("", ) 书写,存在格式化字符

攻防世界-杂项-Misc

长期更新一波 攻防世界 的杂项题解 这东西主要靠积累吧 攻防世界:https://adworld.xctf.org.cn 新手练习区 1.this_is_flag 题目直接给出了 flag 2.ext3 主要考察 linux 下光盘的挂载 strings 文件名 | grep flag 搜索文件中的可打印字符 grep:全面搜索正则表达式并把行打印出来 使用命令:mount linux ./linux_cd 将 linux(文件名) 挂载到 linux_cd 目录下,正常访问 O7avZhikg

攻防世界 reverse 进阶 8-The_Maya_Society Hack.lu-2017

8.The_Maya_Society Hack.lu-2017 在linux下将时间调整为2012-12-21,运行即可得到flag. 下面进行分析 1 signed __int64 __fastcall main(__int64 a1, char **a2, char **a3) 2 { 3 size_t v3; // rbx 4 size_t v4; // rax 5 unsigned __int64 size; // rax 6 unsigned __int64 size_1; // ra

攻防世界 reverse 进阶 10 Reverse Box

攻防世界中此题信息未给全,题目来源为[TWCTF-2016:Reverse] Reverse Box 网上有很多wp是使用gdb脚本,这里找到一个本地还原关键算法,然后再爆破的 https://www.megabeets.net/twctf-2016-reverse-reverse-box/ [TWCTF-2016:Reverse] Reverse Box Writeup 标准 Shak的客座文章. 挑战描述$ ./reverse_box $ {FLAG} 95eeaf95ef942349995

攻防世界 WEB lottery 和 ics-06

今天做了攻防世界WEB高手进阶的两题,虽然步骤就这么几步,但是由于自己很菜,所以查阅资料.寻找突破点花了不少时间. 一.ics-06 打开题目,点来点去,发现除了报表中心,点击其他任何地方都只会返回一个页面,这也符合题目描述: 报表中心是这么个界面,并不能输入数据,查看源码也没什么思路,卡了比较久的时间,直到发现明明没操作,url后面跟了个: ?id=1,这就有点意思了,可以get传参,至于参数干嘛的就不知道了,这应该是攻防世界给的提示. 虽然有点不明所以,但是应该是id等于某个值会返回什么东西

2019.8.31-9.3 攻防世界RE练习

攻防世界 一开始学习下re,产生了兴趣 game 这个题目在某个CTF平台做过了0-0,再做一遍.(跟着WP 0.0) 首先用ExeinfoPe或者Peid查壳 也可以使用file命令查看相关信息 32位程序,使用ida打开,F5反编译 程序逻辑: shift+F12 查看字符串 进入后 右键list cross reference to ,然后F5 这就是求flag的过程,并且输出,我可以写一个py脚本读出来 在这里的*(&v2+i)相当于v[2+i],数组形式的格式,其实就是递加1==>

攻防世界 robots题

来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面. [目标] 掌握robots协议的知识 [环境] windows [工具] 扫目录脚本dirsearch(项目地址:https://github.com/maurosoria/