dhanunjay-123/cybersecurity-projects

GitHub: dhanunjay-123/cybersecurity-projects

一组用 Python 编写的入门级网络安全工具,提供多线程 TCP 端口扫描与基础 Web 安全审计功能,适合学习者在授权环境下进行安全练习并丰富求职作品集。

Stars: 0 | Forks: 0

# 网络安全项目 两个独立的 Python 安全工具,专为丰富作品集/简历而构建。 ## ⚠️ 合规使用提示 仅对你**拥有**或获得**明确书面授权**的系统运行这些工具进行测试。未经授权扫描第三方系统可能会违反诸如印度《IT 法案》或美国《计算机欺诈和滥用法》等法律。请使用 `127.0.0.1`、你自己的本地网络,或专用的合法练习目标(如 `scanme.nmap.org`,Nmap 的官方测试主机)进行演示。 ## 1. 端口扫描器 (`port_scanner.py`) 多线程 TCP 端口扫描器,用于发现开放端口并识别可能运行的服务(通过常见端口查找表和 banner grabbing)。 **安装与运行:** ``` python3 port_scanner.py -t -p ``` **示例:** ``` python3 port_scanner.py -t 127.0.0.1 -p 1-1024 python3 port_scanner.py -t scanme.nmap.org -p 20,21,22,80,443 ``` **工作原理:** - 使用 Python 的 `socket` 模块和 `connect_ex()` 进行快速的 TCP connect 扫描 - 通过 `concurrent.futures.ThreadPoolExecutor` 并发执行扫描(默认:100 个线程) - 尝试从每个开放端口读取服务 banner,以进行额外的指纹识别 - 将知名端口(22、80、443、3306 等)映射为易于阅读的服务名称 ## 2. 网站漏洞扫描器 (`vuln_scanner.py`) 轻量级 Web 应用安全扫描器。用于检查在实际安全审计中常见的错误配置。 **安装与运行:** ``` pip install requests python3 vuln_scanner.py -u ``` **示例:** ``` python3 vuln_scanner.py -u https://example.com ``` **执行的检查项:** 1. **缺失安全标头** — CSP、HSTS、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy 2. **不安全的 Cookie** — 标记缺少 `Secure`/`HttpOnly` 属性的 Cookie 3. **信息泄露** — 标记会泄露技术栈信息的 `Server` / `X-Powered-By` 标头 4. **反射输入检查** — 发送无害的标记字符串作为查询参数,并检查其是否在未转义的情况下被回显(这是潜在反射型 XSS 的信号 — 此操作仅进行*检测*,不会实施漏洞利用) 5. **TLS 证书过期** — 如果 SSL 证书将在 30 天内过期,则发出警告 ## 为你的简历/面试准备 **建议的简历描述:** - *网站漏洞扫描器:* "使用 `requests` 构建了一个 Python Web 安全扫描器,可审计 HTTP 安全标头、Cookie 属性和 TLS 证书有效性,并通过安全的输入反射测试来标记潜在的反射型 XSS 攻击向量。" - *Python 端口扫描器:* "使用 `socket` 和 `concurrent.futures` 开发了一个多线程 TCP 端口扫描器,能够在几秒钟内扫描 1000 多个端口,并通过 banner grabbing 自动识别服务。" **可能的面试问题及回答思路:** - *"你的端口扫描器是如何工作的?"* → 解释 TCP connect 扫描(`connect_ex`)、为什么使用多线程来提高速度,以及 banner grabbing 如何帮助在端口号之外进一步识别服务。 - *"TCP connect 扫描和 SYN 扫描有什么区别?"* → 你的工具执行的是完整的 connect 扫描(完成 TCP 三次握手);而 SYN 扫描(如 Nmap 的 `-sS`)仅发送 SYN 数据包且从不完成握手,这使其更具隐蔽性,但需要使用原始 socket(raw sockets)/root 权限。 - *"你的漏洞扫描器是如何检测 XSS 的?"* → 回答要准确:它不能确认漏洞是否可利用 — 它只是检查未转义的输入是否在响应中被*反射*,这是一个值得人工后续跟进的强烈*指标*,而不是必然存在的漏洞。 - *"下一步你会添加什么功能?"* → 好的回答包括:通过基于错误的 payload 进行 SQLi 检测、子域名枚举、与 CVE 数据库集成、将结果导出为 JSON/PDF 报告。
标签:Python, 密码管理, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护