你不可通过:缓解遗留 Web 应用中的 SQL 注入攻击
密码学与安全
2020-07-14 v3
摘要
SQL 注入(SQLi)攻击对 Web 应用的安全构成重大威胁。现有方法不支持面向对象编程,导致这些方法无法保护诸如 Wordpress、Joomla 或 Drupal 等真实世界 Web 应用免受 SQLi 攻击。我们提出了一种针对 PHP Web 应用的新型混合静态-动态分析方法,以限制每个 PHP 函数对数据库的访问。我们的工具 SQLBlock 将 Web 应用中易受攻击 PHP 函数的攻击面缩减为一组查询描述符,这些描述符展示了该 PHP 函数的良性功能。我们将 SQLBlock 实现为 MySQL 和 PHP 的插件。我们的方法不需要对 Web 应用进行任何修改。我们在 Wordpress、Joomla、Drupal、Magento 及其插件中的 11 个 SQLi 漏洞上评估了 SQLBlock。我们证明 SQLBlock 成功阻止了所有 11 个 SQLi 攻击,且性能开销可忽略不计(即,在重负载 Web 服务器上最高为 3%)。
引用
@article{arxiv.2006.11996,
title = {You shall not pass: Mitigating SQL Injection Attacks on Legacy Web Applications},
author = {Rasoul Jahanshahi and Adam Doupé and Manuel Egele},
journal= {arXiv preprint arXiv:2006.11996},
year = {2020}
}
备注
Accepted in ASIACCS 2020