广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php网络安全中命令执行漏洞的产生及本质探究
  • 475
分享到

php网络安全中命令执行漏洞的产生及本质探究

php命令执行漏洞php网络安全 2023-02-24 11:02:04 475人浏览 薄情痞子
摘要

目录漏洞的产生原因漏洞的本质涉及到的函数命令执行漏洞的危害命令执行漏洞的防御命令执行相关函数的使用system()exec()shell_exec()passthru()popen(

漏洞的产生原因

  • 代码层过滤不严。应用程序直接或间接使用了动态执行命令的危险函数,并且这个函数的运行参数是可控的
  • 系统的漏洞造成命令注入

漏洞的本质

应用有时需要调用一些执行系统命令的函数,当服务器没有严格过滤用户提供的参数时,就有可能导致用户提交恶意代码被服务器执行,从而造成命令执行漏洞。

涉及到的函数

  • 1.system
  • 2.exec()
  • 3.shell_exec()
  • 4.passthru()
  • 5.popen()
  • 6.反引号

命令执行漏洞的危害

  • 1.继承WEB 服务器程序权限(Web用户权限),去执行系统命令
  • 2.继承Web服务器权限,读写文件
  • 3.反弹Shell
  • 4.控制整个网站
  • 5.控制整个服务器

命令执行漏洞的防御

  • 1、尽量少使用执行命令函数或者禁用disable_functions
  • 2、在进入执行命令的函数之前,对参数进行过滤,对敏感字符进行转义
  • 3、参数值尽量使用引号包括,并在拼接前调用addslashes进行转义

命令执行相关函数的使用

system()

  • 说明:能够将字符串作为OS命令执行,自带输出功能
  • 测试参考代码:
<?PHP
if(isset($_GET['cmd'])){
    system($_GET['cmd']);
}
?>
payload:?cmd=ipconfig

exec()

  • 说明:能将字符串作为OS命令执行,但无输出,需要输出执行结果print。
  • exec() 默认只输出最后一行的数据
  • 如果想让他输出全部结果,可以加一个参数,即exec(ifconfig,$arr); print_r($arr);,如一句话木马:<?php exec($_REQUEST[123],$arr);print_r($arr)?>
  • 测试参考代码
<?php
if(isset($_GET['cmd'])){
    print exec($_GET['cmd']);
}
?>
payload:?cmd=whoami

shell_exec()

  • 说明:执行命令并以字符串的形式,返回完整的信息,但是函数无回显,需要输出执行结果。
  • 测试参考代码
<?php
if(isset($_GET['cmd'])){
    print shell($_GET['cmd']);
}
?>
payload:?cmd=whoami

passthru()

  • 说明:执行外部命令,与system()类似,但是该函数会直接将结果输出,无需输出执行。
  • 测试参考代码
<?php
if(isset($_GET['cmd'])){
    passthru($_GET['cmd']);
}
?>
payload:?cmd=whoami

popen()

  • 说明:能够执行OS命令,但是该函数并不是返回命令结果,而是返回一个文件指针
  • 测试参考代码
<?php
if(isset($_GET['cmd'])){
    $cmd=$_GET['cmd'].">>1.txt";
    popen($cmd,'r');
}
?>
payload:?cmd=whoami

反引号

  • 说明:反引号[``]内的字符串,也会被解析成OS命令
  • 反引号背后执行的代码其实是调用了shell_exec(),所以禁用了shell_exec()同样反引号也无法使用了。
  • 测试参考代码
<?php
if(isset($_GET['cmd'])){
    $cmd=$_GET['cmd'];
    print `$cmd`;
}
?>
payload:?cmd=whoami

到此这篇关于php网络安全中命令执行漏洞的产生及本质探究的文章就介绍到这了,更多相关php命令执行漏洞内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: php网络安全中命令执行漏洞的产生及本质探究

本文链接: https://www.lsjlt.com/news/197393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php网络安全中命令执行漏洞的产生及本质探究
    目录漏洞的产生原因漏洞的本质涉及到的函数命令执行漏洞的危害命令执行漏洞的防御命令执行相关函数的使用system()exec()shell_exec()passthru()popen(...
    99+
    2023-02-24
    php命令执行漏洞 php网络安全
  • PHP网络安全之命令执行漏洞及防御
    目录命令执行漏洞的原理命令执行漏洞产生原因命令执行漏洞的危害命令执行的防御手段DVWA介绍命令执行漏洞的原理 程序应用有时需要调用一些执行系统命令的函数,如php中的system,e...
    99+
    2022-11-13
  • php网络安全中命令执行漏洞怎么预防
    这篇文章主要介绍了php网络安全中命令执行漏洞怎么预防的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php网络安全中命令执行漏洞怎么预防文章都会有所收获,下面我们一起来看看吧。漏洞的产生原因代码层过滤不严。应用...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作