在文件上传(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一句话木马