web命令执行漏洞

简介:

一,什么是命令执行漏洞:


  应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。



二,利用条件:


 1,应用调用执行命令的函数

 2,将用户输入作为系统命令的参数拼接到命令中

 3,没有对用户输入过滤或者过滤不严格


三,漏洞危害:

 1,攻击者可以执行命令获取想要的信息

 2,攻击者可以拿下服务器等



四,例子:


例子一:

代码:

1
2
3
4
5
6
<?php
     $arg  $_GET [ 'cmd' ];    
     if  ( $arg ) {
         system( "$arg" );
     }
?>


访问:http://127.0.0.1/mingling/simple1.php?cmd=ping%20127.0.0.1

也就是执行了“ping 127.0.0.1”命令

wKiom1mhSCqRquRRAABG8Ph3pVk375.png


例子二:

1
2
3
4
5
6
<?php
     $arg  $_GET [ 'cmd' ];    
     if  ( $arg ) {
         system( "ping -c 3 $arg" );
     }
?>


访问:http://192.168.25.107/simple2.php?cmd=127.0.0.1;pwd

执行了pwd命令


wKioL1mhSpKwchuFAABd3q5AflU285.png






例子三:

1
2
3
4
5
6
7
8
<?php
     $arg  $_GET [ 'cmd' ];   
     
     if  ( $arg ) {
         system( "ls -al \"$arg\"" );
     }
     
   ?>

访问:http://192.168.25.107/simple3.php?cmd=/home%22;ifconfig%22

执行了ifconfig命令

wKiom1mhS_PyLrHyAACEeRHaYWU317.png-wh_50


例子四:

1
<?php  eval ( $_REQUEST [ 'code' ]);?>

当访问:http://192.168.25.107/simple4.php?code=phpinfo();

注意后面的分号,当然后面也可以跟一句话木马。

wKioL1mhTSOCUcCpAAB08Yga69Y420.png-wh_50


例子五:

1
2
3
4
5
<?php
     $fun  $_GET [ 'fun' ];
     $par  $_GET [ 'par' ];
     $fun ( $par );
?>


当访问:http://192.168.25.107/simple5.php?fun=system&par=whoami

其实就相当于是执行了:

1
system( "whoami"

wKiom1mhTmXy7ri_AAAtxYR739k204.png-wh_50



五:修复方案:

  1. 尽量少用执行命令的函数或者直接禁用

  2. 参数值尽量使用引号包括

  3. 在使用动态函数之前,确保使用的函数是指定的函数之一

  4. 在进入执行命令的函数/方法之前,对参数进行过滤,对敏感字符进行转义

如:

1
2
3
4
5
6
<?php
     $arg  $_GET [ 'cmd' ];     // $arg = addslashes($arg);
     $arg  escapeshellcmd ( $arg );   //拼接前就处理
     if  ( $arg ) {
         system( "ls -al '$arg'" );
     }?>


escapeshellcmd( )逃脱字符串中任何可能用来哄骗(trick)shell命令的字符串,此函数用来确定资料传送到exec( )或system( )之前,由使用者输入的任何资料已经逃脱,标准的用法如下

1
2
3
4
5
Example :
 
<?php
    system( EscapeShellCmd ( $cmd ));
?>


六:参考链接:


1,http://haojiawei.xyz/2017/03/15/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E/

2,http://www.jianshu.com/p/1e706f13b088


1.jpg


本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1959586


相关文章
|
4月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
244 1
|
1月前
|
SQL 存储 XML
常见Web漏洞分析与防范研究
在以上内容中,结合OWASP、Toptal和Brightsec等权威来源的信息,确保回答的专业性和准确性。通过图表和思维导图的方式,可以更系统地了解和记忆Web安全知识,帮助企业在实际应用中更好地防范各种安全威胁。
62 13
|
5月前
|
安全 关系型数据库 MySQL
Web安全-条件竞争漏洞
Web安全-条件竞争漏洞
71 0
|
5月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
285 8
|
5月前
|
安全 关系型数据库 Shell
Web安全-浅析CSV注入漏洞的原理及利用
Web安全-浅析CSV注入漏洞的原理及利用
231 3
|
5月前
|
安全 应用服务中间件 开发工具
Web安全-SVN信息泄露漏洞分析
Web安全-SVN信息泄露漏洞分析
297 2
|
5月前
|
JSON 安全 JavaScript
Web安全-JQuery框架XSS漏洞浅析
Web安全-JQuery框架XSS漏洞浅析
746 2
|
5月前
|
安全 关系型数据库 MySQL
Web安全-任意文件下载漏洞
Web安全-任意文件下载漏洞
241 5
|
5月前
|
安全 搜索推荐 应用服务中间件
Web安全-目录遍历漏洞
Web安全-目录遍历漏洞
138 2
|
5月前
|
XML JSON 安全
Web安全-XXE漏洞
Web安全-XXE漏洞
45 1

热门文章

最新文章

  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    13
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    26
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    20
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    56
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    353
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    40
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    22
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    56