首页 > 其他分享 >第九章-命令执行

第九章-命令执行

时间:2022-11-14 17:13:33浏览次数:55  
标签:漏洞 第九章 cmd 命令 拼接 commix 执行

第一节 命令执行介绍

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

标签:漏洞,第九章,cmd,命令,拼接,commix,执行
From: https://www.cnblogs.com/g0rez/p/16889575.html

相关文章

  • linux下使用wget命令提示cannot verify cmake.org's certificate
      1、在使用linux下载cmake编译器时,提示如上图错误可以看到上图提示,使用--no-check-certificate参数即可 ......
  • Linux命令之sar命令用例
    一、命令简介  sar(SystemActivityReporter系统活动情况报告)命令用于收集、报告或保存系统活动信息。sar命令将操作系统中选定的累积活动计数器的内容写入标准输出。会计......
  • Linux sar命令详解:分析系统性能
    sar命令很强大,是分析系统性能的重要工具之一,通过该命令可以全面地获取系统的CPU、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU中断和网络等性能数据。sar命令的基本......
  • 第一章 linux-shell命令入门
      本人目前正在学习linux驱动开发,利用我想记录我Linux的学习过程,并分享出来,为大家提供一些经验,同时加强我对知识的总结能力,希望我的博客能为大家提供帮助。废话不多说,我......
  • Linux shell脚本执行后出现语法错误: 未预期的文件结尾
    Windows环境下编写了一个shell脚本,上传到Linux环境中执行,Linuxshell脚本执行后出现语法错误:未预期的文件结尾。出现了此错误提示,进行了如下的检查:1、检查Shell脚本的......
  • python 中实现在命令行中传递参数
     001、[root@pc1test1]#lsa.fatest.py[root@pc1test1]#cata.fa##测试fasta文件>chr1kkkaatttttcccc>chr2yyyttttuuuuddfff>chr3eeeuuuuukkss......
  • 3.go开发中常用的DOS命令
    1.介绍 DiskOperatingSysterm盘操作系统2.目录操作 查看当前目录 dir切换目录cd/d f:切换盘符cdd:\test100回到上级目录cd..回到根目录cd回车新......
  • Linux 相关命令
    1.查看系统信息命令https://www.cnblogs.com/klb561/p/9157569.html2.常用操作命令https://www.cnblogs.com/klb561/p/9157587.html......
  • 在Linux系统中使用mount命令挂载后缀为.img的Ubuntu系统
    挂载步骤使用fdisk-l/path/to/image命令查看img文件信息。输出如下:DiskOrangepizero2_3.0.6_ubuntu_jammy_server_linux5.16.17.img:1.63GiB,1744830464字节,34......
  • sql script 保障一处报错,整个script 不执行
    begintranbegintry script..........endtrybegincatchprintERROR_MESSAGE()ROLLBACKtranendcatchcommit......