PHP My Admin被曝存在严重CSRF漏洞可对数据库造成破坏
近期,印度安全工程师Ashutosh Barot发现phpMyAdmin存在严重CSRF漏洞(跨站请求伪造),可以通过技巧欺骗管理员去点击构造链接,触发对基于phpMyAdmin的MySQL数据库的远程操作,实现对数据库的破坏攻击行为。
该漏洞对phpMyAdmin 4.7.x系列中4.7.7之前的所有版本造成影响,目前,phpMyAdmin官方已发布漏洞修补声明,声明中提到“该漏洞利用方式为,通过欺骗当前登录用户点击某个恶意构造链接,之后可能导致对MySQL数据库的记录数据等信息的删除(dropping/truncating tables)”。
CSRF是OWASP Top 10的严重漏洞之一, phpMyAdmin发起删除数据表等操作的POST请求后,会执行一个Get请求,为防止CSRF攻击Get会受到安全防护。该案例中,可以通过如浏览器书签等URL链接来发起POST请求,攻击者可以藉此构造特殊恶意链接按钮,欺骗管理员点击之后,达到操作数据库目的。虽然有这种可能,但对于远程攻击者来说,很难收集到可以构造恶意URL的相关信息。
基于此,我发现可以利用Burp的请求更改功能,把phpMyAdmin的POST请求转换为GET请求,之后,即使身份token过期或被清除,一样可以把它从URL中直接执行。利用这种方法,我可以添加一个wordpress的管理员用户。为了实现目的,攻击者则需要知道cPanel的会话id和数据库名称,其它如wp_users的表名则非常容易进行猜解。
执行数据库操作的构造URL可以被保存在浏览器历史记录中,如果用户点击insert和DROP等按钮来执行查询操作,该URL就需要包含数据库名和表名等信息。由于这种构造URL链接可在浏览器历史、安全事件管理日志(SIEM logs)、防火墙日志、ISP日志等地存储,因此,该漏洞还可导致某种程度上的敏感信息泄露。
在用户通过了phpMyAdmin的管理面板认证登录后,即使关闭了phpMyAdmin,这种CSRF攻击照样可行。但如果想要成功利用该漏洞,实现远程数据库操作,需要与用户有一个点击链接的交互,因此,目前该漏洞的影响程度暂定为中级(Medium)。
POC视频视频中,远程攻击者通过欺骗管理员点击构造的恶意链接后,就能让管理员毫不知情地删除了整个数据库。
phpMyAdmin通过数据库管理功能能与WordPress、Joomla等建站系统结合,很多服务托管商也会使用phpMyAdmin后台来管理交互客户数据,基于此,phpMyAdmin已经发布了修复措施,希望相关受影响用户及时修补漏洞,或下载更新版本。
54634.html
mysqlphpwordpress相关文章
- 浅浅析PHP反序列化漏洞
- PHP实现将数组插入MySQL数据库(php数组插入mysql)
- MySQL数据库操作:用PHP实现(php操作mysql数据库)
- PHP操作MySQL数据库:实现快速连接(php连接数据库mysql)
- Linux上运行PHP的简易方法(linux如何运行php)
- PHP中如何连接MySQL数据库?(php怎么连接mysql数据库)
- PHP开启Redis之路:快速上手(php开启redis)
- Linux下部署PHP网站的指南(linux部署php网站)
- Java反序列化漏洞从无到有
- 教你如何用PHP获取MySQL数据库中的数据(php获取mysql数据)
- PHP如何准确获取MySQL数据库中的错误信息?(php获取mysql错误)
- 使用PHP实现Redis订阅功能(redis订阅php)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- 使用PHP遍历MySQL数据库 – 一步一步教程(php遍历mysql)
- 利用PHP实现MySQL数据库操作的简易指南(php实现mysql)
- 如何使用PHP重启Linux服务:简易教程(php重启linux服务)
- 检测PHP对MSSQL数据库操作的能力(检测php_mssql)
- 优雅式PHP配置MySQL数据库(php 配置 mysql)
- PHP操作MySQL数据库详解,快速学习调用方法(php怎么调用mysql)
- PHP连接MSSQL失败:挫败与失望.(php连接mssql失败)
- PHP访问MSSQL数据库的实现方法(php 读取 mssql)
- 解决PHP读取MSSQL数据库乱码问题(php读mssql乱码)
- 用PHP连接MSSQL数据库:轻松搞定!(mssql连接类php)
- MySQL和PHP:构建更先进的开发体系(mysql 和php)
- PHP中的MYSQL常用函数(php下操作数据库必备)