攻防世界-Cat

进入环境出现的页面是一个输入框,然后让我们输入域名

 我们顺着思路输入一个域名试一试

 并没有任何的回显内容

想一想,如果输入127.0.0.1会怎么样?

 它执行了一个ping命令,那么就会联想到会不会有命令拼接

在框中输入 127.0.0.1 & ls 127.0.0.1 | ls

显示无效的url,应该是被过滤掉了,burp抓一抓,跑一跑看看哪个字符没有被过滤

 

发现@符号没有被过滤,这有什么用呢,开始思考.没有特别好的思路,这个时候就要脑洞大一点,各种尝试了

我尝试在url=后面的编码下手

各范围的编码试一试,在试到%80的时候就报错了,首先url编码使用的是16进制的,%80 转换过来也就是128,也就是说超过这个范围它就报错

 

 

 报错是一大段html,将它复制出来,粘贴到一个文本文件中,改后缀,然后用游览器打开看一看

 打开之后的样子

这时django报错页面,不熟悉的小伙伴,可以去百度一下,这里不再赘述

 我到这里已经解不下去了,我去看大佬的题解了,然后发现有个坑,这原题是有,之前找出来@符号不被过滤,怎么用的提示,而这里并没有

 

这里表明@是读取文件的内容需要加上

 到这一步,还需要懂一些django的基本知识,django项目下面会有一个settings.py文件,这个文件是设置网站数据库的路径,它还会对项目的整体的设置进行定义.那么接下来的思路就是我们需要去看看settings.py这个文件,看看database的相关信息了(我发现其实也不需要看,之前的报错内容已经有database信息了,狗头)

 愉快的去猫一眼

搜一搜关键词ctf,flag等看看,哈,有了

 这题的知识点涉及比较广

1.cURL的post文件上传

2.php的curl上传组件

3.python的字符编码

4.django的框架知识

希望各位小伙伴加油,多多去学习知识,在成神道路上越走越远!下次再见!!

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值