PHP代码审计之常见的危险函数及特殊函数

本文探讨了PHP中的危险函数,如eval、assert、包含函数、命令执行函数和文件操作函数,以及信息泄漏和环境变量相关函数。重点讲述了这些函数在代码审计中的重要性和潜在风险,包括执行恶意代码、文件操作、信息泄露等安全问题。
摘要由CSDN通过智能技术生成

执行函数:

 1.eval函数将字符串作为php代码执行,如:<?php @eval($_POST['v']);?>

很多常见的webshell都是用eval来执行的

2.assert函数检查一个断言是否为FALSE.(也可把字符串作为PHP代码执行)

多数查杀软件把eval列入黑名单,所以用assert来代替eval来执行具体操作 

3.mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。

参数说明:

  • $pattern: 要搜索的模式,可以是字符串或一个字符串数组。

  • $replacement: 用于替换的字符串或字符串数组。

  • $subject: 要搜索替换的目标字符串或字符串数组。

  • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

  • $count: 可选,为替换执行的次数。

create_function(string $args,string $code)
string $args 声明的函数变量部分

string $code 执行的方法代码部分

案例

<?php 
$func =create_function('',$_POST['cmd']);
$func();
?></
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值