Django

题目描述

抓住那只猫

思路

打开页面,有个输入框输入域名,输入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。

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

(0)

相关推荐

  • ​mac端python3 django连接mysql数据库问题

    参考https://blog.csdn.net/u011054333/article/details/78767724 1.Mac版本Macos catalina 10.15.5 在关于本机查看. p ...

  • vue django部署

    部署前的准备 在开发完django后端接口和vue前端页面之后,我们的代码并不能直接放到远程服务器上去部署,需要一些准备,下面是在项目已经在本地对好接口,可以运行的情况下的部署准备操作 前端vue项目 ...

  • Django入门之安装与创建

    Django安装 命令行安装 pip install django==1.11.9 PyCharm安装 Django基本操作 命令行操作 # 1.创建Django项目 # website为自定义项目名 ...

  • Flask VS Django选择哪个好?优缺点对比!

    flask和Django是Python爆火的框架,用途广.功能多.优势突出,深受大家的喜欢.那么flask对比Django框架,哪种更好呢?我想大家都有这样的疑问,通过这篇文章为大家讲解一下. 什么是 ...

  • Django的开发流程与数据库设计

    引言:项目开发流程: 需求分析(成员:架构师 .产品经理 .开发者组长) 在跟客户谈需求之前,会大致先了解客户的需求,然后自己先设计一套比较好写的方案.跟客户沟通交流中引导客户往我们之前想好的方案上面 ...

  • Django Full Coverage(飞速入门)

    Django(个人推荐, 如果项目较大 需要协同开发, 建议使用django这种重量级框架, 如果类似于纯api的后端应用建议使用 flask, 轻量小巧 , 麻雀虽小五脏俱全) 1.Django是什 ...

  • Python 里最强的Web框架,早就不是Django和Flask了

    Python 里最强的Web框架,早就不是Django和Flask了

  • 我来记笔记啦-Django开发流程与配置

    目录 1.Django介绍 1.2 MVC模式说明 1.3 Django的MVT 1.4 Django配置顺序 1. 创建Django项目 2.创建Django子应用 3. 注册安装子应用 4. 使用 ...

  • 干货|vue-element-admin和Django简单整合

    前言 笔者是一个python script guy开发者-----俗称'二把刀开发者',平常大部分时间写的都是poc.脚本和工具类应用,很少写整站项目.如果你是一个前端工程师和资深开发工程师,请忽略本 ...

  • 使用AJAX获取Django后端数据

    使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器.但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-这时候就要 ...

  • Django中使用Celery执行异步和定时任务的注意事项

    WEB前端开发社区 昨天 1. Windows中使用Celery 4.0及以后版本 Celery 4.0+及以后版本不支持在windows系统上运行.如果你希望在windows系统上使用celery, ...

  • 为什么 Django 框架持续统治着 Python 开发?

    对 Python 工程师来说,Web 开发可以选择的框架很多,比如 Django.Flask.Tornado 等等,而其中 Django 是最全面,也是最受欢迎的,我们熟知的 YouTube.Inst ...