irpas技术客

一句话木马@eval($_POST[“cmd“]);是什么意思(超详细)_yuko156_post一句话木马

大大的周 1787

在文件上传(upload)类ctf题中,相信大家都接触过一句话木马

<?php

@eval($_POST["cmd"]);

?>

那么具体它是扫描意思呢

POST

是html中<form>标签的POST方法

在页面中,所有的POST方法都会由submit输入方式向action中的php文件返还信息,通常这样的php文件是连着着数据库的,甚至可以直接对文件进行操作

PHP eval()函数

eval(str)函数吧str字符串按照php代码来计算

该str字符串必须是合法的PHP代码,且必须以分号结尾

如果没有在代码字符串中调用return语句,则返回NULL。如果代码存在解析错误,则eval()函数返回false

$_POST[XXX]

当使用<form>标签的post方法时候,同时<form>标签里面的name属性等于cmd

例如:<form? action="xxx.php"? name="cmd"? method="post">

会在php文件中产生一个$_POST[cmd]变量,变量中储存有用户提交的数据,

假设用户在输入框中输入了:phpinfo();

那么$_POST[cmd]变量便会变成? "phpinfo();"? 这个字符串

再加上eval()方法函数将用户输入的字符串进行执行,那么用户便可以通过输入php语句来达到任意操作数据库和服务器的效果了


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #post一句话木马