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

在文件上传(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语句来达到任意操作数据库和服务器的效果了

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值