【攻防世界WEB】难度四星12分进阶题:Cat

一、Cat

 

解题方法:

1、注入点、大量代码理解、bp跑过滤、带出文件

过程:

输入后url后面接了域名

考虑:

1、能不能访问主机本地

2、?url是否存在注入

(输入框和?url=是同一处)


输入127.0.0.1

发现ping了自己

考虑:

能否拼接命令在后面呢

 payload:

127.0.0.1 | ls

提示无效网址,应该是被过滤了


是用bp对特殊字符进行爆破

看哪些未被过滤

发现有 - . / @未被过滤


 

看是否能通过编码,然后被解码绕过

先测试一下能否使用URL编码

找了几个整数测试

%100没报错

%90报错了

 是html代码

复制到txt中

没找到有用信息

 

再改为html后缀

然后再浏览器打开

 

需要去了解Django

Django 是一个开放源代码的 Web 应用框架,由Python编写的

寻找settings,寻找文件的路径

/opt/api/database.sqlite3


我们前面爆破出了@未被过滤

php中可以通过@+完整路径来读取文件(现在CURLFile)

前提:

PHP<=5.5

有个键值,然后value必须是个数组

content-type:multipart/form-data


构造payload:

?url=@/opt/api/database.sqlite3

仔细看了一下,出现了新源码

 


再放到txt中进行查看一番

 

源码里找到flag字样,可能多半就能找到了

查找ctf找到了flag

 

 WHCTF{yoooo_Such_A_G00D_@}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值