# 博客文章:https://bozogullarindan.com/en/2022/01/wordpress-iq-block-country-1.2.13-admin-arbitray-file-deletion-via-zip-slip/
# 软件链接:https://en-gb.wordpress.org/plugins/iq-block-country/
# 版本:1.2.12
# 测试环境:Linux
# CVE: CVE-2022-0246 (https://wpscan.com/vulnerability/892802b1-26e2-4ce1-be6f-71ce29687776)
iQ Block Country 是一个 Wordpress 插件,可让您限制对网站内容的访问。它可以允许或禁止来自特定国家/地区的访问者访问(部分)网站内容。
可以使用其备份功能导出或导入插件的设置。授权用户可以通过上传 zip 文件导入插件的预配置设置。在上传过程之后,上传的 zip 文件中的文件会被一一解压。在提取过程中,检查文件是否存在。如果文件存在,则仅考虑提取文件的名称即可将其删除,而无需任何安全控制。这种行为会导致“Zip Slip”漏洞。
Zip Slip 可能会通过覆盖配置文件或其他敏感资源而造成损坏。在此发现中,攻击者可以利用此漏洞和提取过程的行为,删除服务器中的任意文件。为此,只需上传一个 zip 文件,该文件包含一个文件,该文件被命名为要删除的文件的路径。
重现步骤:
1. 安装并激活 iQ Block Country 插件。
2.在易受攻击的系统中创建一个测试文件:(例如/var/www/html/test.txt)
3. 创建一个 zip 文件,其中包含一个名为 ../../../../test.txt 的文件。此过程结束时的绝对路径将是:/var/www/html/wp-content/uploads/2022/01/../../../../test.txt
4. 返回 Wordpress,访问 Settings > iQ Block Country > Import/Export 选项卡。
5. 单击“浏览”按钮并选择在步骤 3 中创建的 zip 文件。
6. 单击“恢复设置”按钮。
7.会出现“无效文件”消息,但不要介意该消息。检查 test.txt 文件是否被删除。