PHP代码审计基础:命令执行漏洞

本文探讨了PHP中的命令执行漏洞,包括挖掘思路、常见危险函数如system()和shell_exec(),以及过滤和修复方案。强调了命令执行与代码执行的区别,并提醒开发者在使用这些函数时注意参数安全,防止命令注入。
摘要由CSDN通过智能技术生成

命令执行

1、命令执行(Command Execution)漏洞即黑客可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限

2、命令执行漏洞可能造成的原因是Web服务器对用户输入命令安全检测不足,导致恶意代码被执行

3、更常见的命令执行漏洞是发生在各种Web组件,包括Web容器、Web框架、CMS软件、安全组件等

挖掘思路

  1. 用户能够控制函数输入
  2. 存在可执行命令的危险函数

命令执行与代码执行的区别

代码执行:执行效果完全依赖于语言本身

命令执行:执行效果不受语言本身、命令本身的限制

命令执行的类型

  • 代码层过滤不严格
  • 系统的漏洞造成命令注入
  • 调用的第三方组件存在代码执行漏洞

常见危险函数

system()和passthru()

在这里插入图片描述

举个例子:

<?php
$cmd = $_GET['cmd'];
echo '<hd>';
system($cmd);
# 或者
passthru($cmd);

payload:

<
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值