核心问题并非用户打开恶意附件,而是诸如 Canary Mail 或 Blue Mail 之类的应用提供了一种便捷但不安全的保存或打开附件功能。我认为这是一项安全漏洞,它使用户暴露于攻击者面前。
为了演示通过“打开方式”或“另存为”对话框不安全地打开 Office Word 附件,利用了 Office Word 16 及更低版本中公式编辑器(Equation Editor)的漏洞 CVE-2017-11882。
from flask import Flask, send_file, request
import logging
from datetime import datetime
app = Flask(__name__)
# 配置日志记录
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
@app.before_request
def log_request_info():
logger.info(f'请求: {request.method} {request.url} 来自 {request.remote_addr}')
@app.after_request
def log_response_info(response):
logger.info(f'响应: {request.url} 状态码 {response.status_code}')
return response
@app.route('/download')
def download_file():
try:
response = send_file('exploit.rtf', mimetype='application/msword', as_attachment=True)
logger.info('文件下载成功')
return response
except FileNotFoundError:
logger.error('未找到文件 exploit.rtf')
return '文件未找到', 404
if __name__ == '__main__':
app.run(debug=False, host='0.0.0.0', port=5000)
对于使用 Microsoft Office Word 16 及更低版本过时软件的用户,存在潜在远程代码执行(RCE)风险。
本仓库仅用于教育和防御性安全研究。