# Chkuna **Repository Path**: composer-liu-ming/chkuna ## Basic Information - **Project Name**: Chkuna - **Description**: 后台未授权检测api - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-13 - **Last Updated**: 2025-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README HTTP 未授权访问检测系统 一个基于 Flask 的未授权访问漏洞检测系统,可自动检测 API 接口是否存在未授权访问漏洞。 功能特性 🔍 自动检测:通过比较带认证和不带认证的请求响应来判断是否存在未授权访问 📊 实时监控:集成 mitmproxy 代理,实时监控流量并进行检测 🚀 高性能:前置认证检查,只处理包含认证信息的请求 📈 日志统计:提供完整的检测日志和统计信息 🔧 易于扩展:模块化设计,支持自定义认证头和检测规则 系统架构 ```text 用户流量 → mitmproxy代理 → 检测API → 目标服务器 ↳ 日志记录 ← 响应比较 ``` 安装依赖 ```bash pip install flask requests mitmproxy ``` 快速开始 1. 启动检测服务 ```bash python server.py ``` 服务将在 http://localhost:5000 启动 2. 启动代理客户端 ```bash python proxy_client.py ``` 代理将在 127.0.0.1:8080 监听 3. 配置代理 配置浏览器或系统使用代理: 地址:127.0.0.1 端口:8080 API 接口 检测未授权访问 端点: POST /api/unauth-check 参数: {"raw_request": "原始HTTP请求字符串"} 返回: 检测结果和比较信息 查看检测日志 端点: GET /api/detection-logs 参数: limit, offset, url, method, unauthorized_only 返回: 分页的检测日志 获取统计信息 端点: GET /api/detection-stats 返回: 检测统计数据和趋势 健康检查 端点: GET /health 返回: 服务状态信息 配置说明 忽略域名 在 proxy_client.py 中修改 IGNORED_DOMAINS: python IGNORED_DOMAINS = [ r".*baidu\.com.*", r".*google\.com.*", # 添加需要忽略的域名 ] 认证头部 在 app.py 中修改 AUTH_HEADERS: python AUTH_HEADERS = { 'authorization', 'cookie', 'token', # 添加自定义认证头 } 查看检测日志 ```bash curl "http://localhost:5000/api/detection-logs?limit=10&unauthorized_only=true" ``` 检测原理 请求解析:解析原始 HTTP 请求 认证检查:检查请求是否包含认证信息 双重请求:分别发送带认证和不带认证的请求 响应比较:比较两个响应的状态码、内容和大小 结果判断:如果响应高度相似,则存在未授权访问漏洞