ranto-dev/keylogger_simulation

GitHub: ranto-dev/keylogger_simulation

一个教育用途的键盘记录器模拟项目,用于演示数据外泄与隐蔽存储的工作原理。

Stars: 0 | Forks: 0

# 🛡️ 教育用键盘记录器模拟 一个轻量级的**概念验证**项目,专为学术演示设计。该项目通过拦截按键并将数据存储到远程服务器,展示了现代基于网页的键盘记录器的工作原理。 ### ⚠️ 伦理警告与免责声明 **本项目仅供教育用途。** 未经明确许可,在系统上使用键盘记录器是非法且不道德的。此模拟旨在帮助学生和安全专业人员理解攻击向量,以便更好地构建防御措施。 ### 🏗️ 项目架构 模拟分为两个主要组件: | 组件 | 技术 | 角色 | | :--------- | :------------------------ | :------------------------------------------------------------------------------- | | **前端** | HTML5 / CSS3 / JavaScript | 模拟一个合法银行登录页面,包含“钩子”(事件监听器)。 | | **后端** | Python / Flask | 作为攻击者服务器,接收并存储拦截的数据。 | ### 🛠️ 功能特性 - **实时拦截**:通过 JavaScript `keydown` 事件在表单提交前捕获按键。 - **持久化存储**:自动创建隐藏日志文件(`.hidden_log.txt`)以保存数据供后续分析。 - **异步外泄**:使用 `fetch` API 在不刷新页面的情况下将数据发送到服务器,使攻击对用户不可见。 - **用户体验模拟**:功能性的登录模态框显示“成功”或“错误”消息,以维持真实网站的假象。 ### 🚀 安装与使用 #### 1. 前置条件 确保已安装 **Python 3.x**。需要以下库: ``` pip install -r requirements.txt ``` #### 2. 运行模拟 1. **启动攻击者服务器:** ```bash python app.py ``` 服务器将在 `http://127.0.0.1:5000` 启动监听。 2. **打开受害者页面:** 在任何现代浏览器(Chrome、Firefox、Edge)中打开 `index.html`。 3. **交互操作:** 在输入框中键入内容,观察 Python 终端实时显示按键。 ### 🔍 工作原理 1. **捕获阶段**:JavaScript `addEventListener` 监听整个文档的键盘输入。 2. **外泄阶段**:每个字符被打包为 `POST` 请求,发送到 Flask 的 `/log` 端点。 3. **存储阶段**:Python 后端过滤特殊键(如 `Enter` 或 `Backspace`),并将字符串追加到本地文本文件。 ### 🛡️ 缓解与防御 为防止此类攻击,建议采取以下措施: - **使用多因素认证(MFA)**:即使密码被盗,没有第二因素攻击者也无法访问账户。 - **密码管理器**:自动填充凭据绕过了物理按键输入,使大多数键盘记录器失效。 - **CORS 策略**:正确配置内容安全策略(CSP)可防止浏览器向未经授权的第三方服务器发送数据。
标签:CMS安全, CSS3, Flask, .hidden_log.txt, HTML5, HTTP工具, IP 地址批量处理, JavaScript, Keylogger, Proof of Concept, Python, RuleLab, Web攻击, 事件监听, 前端攻击, 取证教学, 后端攻击, 学术研究, 安全演示, 异步请求, 恶意前端, 攻击向量, 教育模拟, 数据可视化, 数据外泄, 数据窃取, 无后门, 登录模拟, 网络安全, 逆向工具, 键盘记录, 防御训练, 隐私保护, 隐蔽存储, 隐蔽文件, 隐藏日志