-命令执行

Posted g0rez

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-命令执行相关的知识,希望对你有一定的参考价值。

第一节 命令执行介绍

1.1 命令执行漏洞原理

命令执行漏洞定义:Web应用程序接收用户输入,拼接到要执行的系统命令中执行。

产生原因:

1、用户输入未过滤或净化;

2、拼接到系统命令中执行。

1.2 php下命令执行函数

在PHP中具有执行系统命令功能的函数如下:

1、system 2、exec 3、shell_exec 4、passthru 5、popen 6、proc_popen

提示:某些情况下,要注意存在以上函数的php文件,有可能是Webshell。

1.3 命令执行漏洞代码分析

以下给出一个存在命令执行漏洞的简单代码。

参考链接:http://www.php.net/manual/zh/function.system.php

<?php
    echo "<pre>";
	if(isset($_GET["cmd"]))
		system($_GET["cmd"]);

    
    echo "</pre>";

?>

1.4 命令执行漏洞案例演示

在Windows下执行 ipconfig来获取网卡信息。

第二节 windows命令执行漏洞利用技巧

2.1 命令执行示例代码分析

以下使用PHP代码,对指定目标执行Ping命令。

<?php
    echo “<pre>”;
    $arg = $_GET['cmd'];
    if ($arg) 
        system("ping  $arg");
    
    echo “</pre>”;
?>

2.2 命令执行漏洞利用思路

代码中拼接用户的输入并代码system函数执行,但是无法直接执行用户的自定义命令。

思路:

截断输入,重新拼接。两条命令都输入并执行。

2.3 命令执行漏洞拼接符介绍

在Windows系统下的 cmd命令中,有以下一些截断拼接符。

&前面的语句为假则直接执行后面的

&&前面的语句为假则直接出错,后面的也不执行

|直接执行后面的语句

||前面出错执行后面的

正常情况下 :

ping 127.0.0.1

ping 111 & ipconfig

ping 127.0.0.1 && ipconfig

ping 127.0.0.1 | ipconfig

ping 111 || ipconfig

2.4 命令执行漏洞利用演示

使用拼接符从而利用命令执行漏洞执行 ipconfig命令

第三节 Linux命令执行漏洞利用技巧

3.1 命令执行示例代码分析

以下使用PHP代码,对指定目标执行Ping命令。

<?php
    echo “<pre>”;
    $arg = $_GET['cmd'];
    if ($arg) 
        system("ping -c 4  $arg");
    
    echo “</pre>”;
?>

3.2 kali Linux测试环境搭建

启动apache服务 , service apache2 start

拷贝代码到 /var/www/html/目录下的一个文件中。

3.3 命令执行漏洞拼接符介绍

在Linux系统下的shell命令中,有以下一些截断拼接符。

在Linux上,上面的;也可以用|、||代替

;前面的执行完执行后面的

|是管道符,显示后面的执行结果

||当前面的执行出错时执行后面的

3.4 命令执行漏洞利用演示

使用拼接符从而利用命令执行漏洞执行 ifconfig命令

http://192.168.1.106/cmd3.php?cmd=127.0.0.1;ifconfig

第四节 命令执行自动化工具基本使用

4.1 Linux命令拼接符补充

在Linux shell下的命令拼接符还有 & &&

其中 & 无论前边语句真假都会执行 && 只有前边语句为真,才会执行后边语句。

4.2 commix工具介绍

​ Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏洞,并且对其进行测试,在其作者发布的最新版本中支持直接直接导入burp的历史记录进行检测,大大提高了易用性。

项目地址:https://github.com/stasinopoulos/commix

4.3 commix帮助信息简要介绍

在Kali linux自带了commix可以直接使用。

commix -h 获取帮助信息。

4.4 commix工具基本使用

commix -u http://192.168.1.106/cmd3.php?cmd=127.0.0.1

以上是关于-命令执行的主要内容,如果未能解决你的问题,请参考以下文章

Redis

Redis - 事务

用pip命令安装python第三方库,无论安装结果成功与否,命令提示符窗口都会自动关闭?

Redis6中的事务操作

Redis的事务

redis 之 redis事务