关于
Web-Check 是一个开源项目,旨在帮助你全面了解目标网站的架构、安全配置和潜在漏洞。它可以帮你快速定位潜在的攻击点,细致分析服务器信息,掌握技术栈细节,为安全检测提供有力的辅助。
这个工具不是强制复杂操作,而是让你能轻松抓取重点,做到“快、准、狠”。
帮助您轻松理解、优化和保护您的网站。
屏幕截图
🌟 这玩意儿能干啥?
这个开源工具就是个网站CT机,输入网址就能生成深度体检报告:
- 🔍 服务器底裤:IP定位、开放端口、域名注册信息全曝光
- 🛡️ 安全大排查:SSL证书分析、安全头检测、高危漏洞预警
- 🚀 技术大起底:前端框架/CDN服务/资源加载全解析
- 📊 性能大考验:加载速度/资源瀑布图/HTTP协议检测
适合人群:
- 👨💻 程序员自查网站漏洞
- 🔒 安全工程师做渗透测试
- 👩💼 产品经理搞竞品分析
- 🧑🎓 小白用户看网站底细
🛠️ 八大核心功能详解
1. 服务器档案袋
- 🌍 IP定位:精确到街道级地理位置
- 🔌 端口扫描:22/80/443等常用端口开没开
- 📜 WHOIS查询:域名注册人/注册商/过期时间
2. 安全大体检
- 🔐 SSL证书:TLS版本/有效期/加密算法分析
- 🚨 漏洞扫描:心脏出血/POODLE等高危漏洞
- 🛡️ 防护策略:CSP/HSTS/XSS防护头检测
3. 技术大揭秘
- 🧩 前端框架:React/Vue/Angular一测便知
- ☁️ CDN检测:Cloudflare/AWS/阿里云等CDN服务
- 📦 资源分析:JS/CSS压缩情况+第三方库版本
4. 性能诊断书
- ⏱️ 加载速度:首屏时间/完全加载时间
- 🌊 瀑布图:哪个文件拖了后腿
- 📡 协议检测:HTTP/2还是老旧的HTTP/1.1
部分功能说明
相关主机
此任务涉及识别并列出与网站主要域名相关的所有域名和子域名(主机名)。此过程通常涉及DNS枚举以发现任何相关联的域名和主机名,并查看已知的DNS记录。
用例
了解目标的全部网络存在范围是至关重要的。相关域名可能会导致发现相关的项目、备用站点、开发/测试站点或与主站点相关的服务。这些有时可以提供额外的信息或潜在的安全漏洞。全面的关联域名和主机名列表还可以概述组织的结构和在线足迹。
重定向链
此任务追踪从原始URL到最终目标URL的HTTP重定向序列。HTTP重定向是一种响应,其状态码告知客户端访问另一个URL。重定向可能由于多种原因发生,例如URL规范(将访问引导到网站的www版本)、强制使用HTTPS、URL缩短器,或转发用户到新的网站位置。
用例
了解重定向链有多个原因。从安全的角度来看,长或复杂的重定向链可能是潜在安全风险的标志,例如链中的未加密重定向。此外,重定向会影响网站性能和SEO,因为每个重定向都会引入额外的往返时间(RTT)。对于开源情报(OSINT),了解重定向链可以帮助确定不同域名之间的关系,或者揭示某些技术或托管提供商的使用。
开放端口
服务器上的开放端口是可用于与客户端建立连接的通信端点。每个端口对应于特定的服务或协议,例如HTTP(端口80)、HTTPS(端口443)、FTP(端口21)等。可以使用诸如端口扫描等技术来确定服务器上的开放端口。
用例
了解服务器上哪些端口是开放的,可以提供有关该服务器上运行的服务的信息,有助于理解系统的潜在漏洞,或了解服务器提供的服务的性质。
跟踪路由
Traceroute 是一种网络诊断工具,用于实时跟踪信息包从一个系统到另一个系统所采取的路径。它记录沿途的每个跳点,提供关于路由器IP地址和每个点延迟的详细信息。
用例
在OSINT调查中,traceroute可以提供有关支持网站或服务的网络基础设施的路由路径和地理信息的见解。这有助于识别网络瓶颈、潜在的网络流量审查或操纵,并总体了解网络的结构和效率。此外,traceroute期间收集的IP地址可能为进一步的OSINT调查提供额外的调查点。
域名查询
此任务检索目标域名的Whois记录。Whois记录是信息的丰富来源,包括域名注册人的姓名和联系信息、域名的创建和到期日期、域名的名称服务器等。信息通常通过向Whois数据库服务器发出查询来获取。
用例
在开源情报(OSINT)的背景下,Whois 记录可以提供关于网站背后实体的宝贵线索。它们可以显示域名何时首次注册以及何时到期,这可能有助于了解该实体的运营时间线。尽管联系信息通常被编辑或匿名化,但有时可以引导到进一步的调查途径。名称服务器还可以用来将同一实体拥有的多个域名联系在一起。
DNS 安全扩展
在没有DNSSEC的情况下,MITM攻击者可以伪造记录并引导用户访问钓鱼网站。这是因为DNS系统中没有任何内置方法来验证请求的响应是否被伪造,或者整个过程的任何部分是否被攻击者中断。DNS安全扩展(DNSSEC)通过使用公钥对您的DNS记录进行签名,从而确保DNS查找的安全,以便浏览器可以检测响应是否被篡改。解决此问题的另一个方法是DoH(基于HTTPS的DNS)和DoT(基于TLD的DNS)。
用例
DNSSEC信息提供了对组织网络安全成熟度和潜在漏洞的见解,特别是在DNS欺骗和缓存中毒方面。如果未实施任何DNS安全(DNSSEC、DoH、DoT等),这可能为攻击者提供一个入口点。
技术栈
检查网站是由哪些技术构建的。这是通过获取和解析网站,然后将其与Wappalyzer维护的正则表达式列表进行比较,以识别不同技术留下的独特指纹来实现的。
用例
识别网站的技术栈有助于评估其安全性,因为它可以揭示潜在的漏洞,为竞争分析和开发决策提供信息,并可以指导量身定制的营销策略。正确应用这一知识至关重要,以避免诸如数据盗窃或未经授权的入侵等有害活动。
列出的页面
描述
这个工作查找并解析网站列出的网站地图。该文件列出了网站上作者希望被搜索引擎抓取的公共子页面。网站地图有助于SEO,但也可以帮助快速查看网站的所有公共内容。
用例
了解网站面向公众的内容结构,并且对于网站所有者,检查您的网站网站地图是否可访问、可解析,并且包含您希望它包含的所有内容。
安全.txt
描述
security.txt 文件告知研究人员他们如何负责任地披露在您的网站上发现的任何安全问题。该标准在 RFC 9116 中提出,并规定此文件应包括联系点(电子邮件地址),以及可选的其他信息,例如安全披露政策链接、PGP 密钥、首选语言、政策过期等。该文件应位于您的域名根目录下,路径为 /security.txt 或 /.well-known/security.txt。
用例
这很重要,因为如果没有明确的联系点,安全研究人员可能无法报告严重的安全问题,或者可能使用不安全或可能是公开的渠道来报告。从开源情报(OSINT)的角度来看,您还可以获取有关站点的信息,包括其安全立场、CSAF提供商以及来自PGP公钥的元数据。
链接页面
描述
显示网站上找到的所有内部和外部链接,这些链接由锚元素附加的 href 属性标识。
用例
对于网站所有者,这有助于诊断SEO问题、改进网站结构、了解内容的相互连接。外部链接可以显示合作伙伴关系、依赖关系和潜在的声誉风险。从安全的角度来看,出站链接可以帮助识别网站意外链接到的任何潜在恶意或被攻破的网站。分析内部链接可以帮助了解网站的结构,并可能发现未打算公开的隐藏或脆弱的页面。对于开源情报调查员来说,这有助于全面了解目标,发现相关的实体、资源,甚至是网站的潜在隐藏部分。
社交标签
网站可以包含某些元标签,这些元标签告诉搜索引擎和社会媒体平台显示什么信息。这通常包括标题、描述、缩略图、关键词、作者、社交媒体账号等。
用例
将此数据添加到您的网站将提升SEO,作为OSINT研究人员,了解某个特定网页应用程序如何描述自己可能会很有用。
防火墙检测
WAF(Web应用防火墙)通过过滤和监控Web应用与互联网之间的HTTP流量来保护Web应用。它通常保护Web应用免受诸如跨站伪造、跨站脚本(XSS)、文件包含和SQL注入等攻击。
用例
了解网站是否使用WAF以及使用的是哪种防火墙软件/服务是有用的,因为这提供了网站对多个攻击向量的保护的见解,但也可能揭示防火墙本身的安全漏洞。
HTTP 安全特性
描述
正确配置的安全HTTP头可以为您的网站增加一层针对常见攻击的保护。
主要的HTTP头有:
<frame>HTTP Strict Transport Security (HSTS):
强制使用HTTPS,减少中间人攻击和协议降级尝试。
<iframe>Content Security Policy (CSP):
限制网页资源,防止跨站脚本和数据注入攻击。
<embed>X-Content-Type-Options:
防止浏览器从声明的 content type 混淆攻击中猜解响应。
<object>X-Frame-Options:
保护用户免受点击劫持攻击。
用例
审查安全标头非常重要,因为它可以提供有关网站防御姿态和潜在漏洞的见解,从而实现主动缓解并确保符合安全最佳实践。
全球排名
此检查显示请求网站的全球排名。这仅对在前1亿网站列表中的网站准确。我们使用了Tranco项目的数据(见下文),该数据汇集了来自Umbrella、Majestic、Quantcast、Chrome用户体验报告和Cloudflare Radar的顶级网站。
用例
了解一个网站在全球的总体排名对于理解该网站的规模以及与其他网站进行比较是有帮助的。这对于理解网站的相对受欢迎程度以及识别潜在趋势也很有帮助。
恶意软件和网络钓鱼检测
描述
检查一个网站是否出现在几个常见的恶意软件和钓鱼列表中,以确定其威胁级别。
用例
了解一个网站是否被这些服务之一列为威胁,对于理解一个网站的声誉以及识别潜在趋势是有帮助的。
🚀 三种姿势快速上车
姿势一:Docker秒开(推荐老司机)
# 一行代码启动
docker run -p 3000:3000 lissy93/web-check
# 浏览器打开 http://localhost:3000 开搞!
_ 部署方法参考Docker官方文档_
姿势二:本地编译(适合折腾党)
git clone https://github.com/Lissy93/web-check
cd web-check
npm install
npm run dev # 开发模式
npm run build && npm start # 生产环境
姿势三:在线尝鲜(小白专属)
👉 官方Demo站
⚠️ 注意:在线版部分高危操作受限
🔧 高阶玩法手册
1.自定义扫描规则
修改config/custom-rules.yml
:
security_headers:
- Strict-Transport-Security:
min_age: 31536000 # 必须强制HTTPS一年
port_scan:
ranges:
- "80-443" # 常用端口
- "8000-9000" # 开发端口
2.批量扫描模式
# 设置环境变量
export BATCH_SCAN=1
export SCAN_LIST="https://example1.com,https://example2.com"
# 启动扫描
npm run start
3. 扫描深度调节
模式 | 参数 | 耗时 | 适合场景 |
---|---|---|---|
温柔模式 | --fast | 1分钟 | 快速摸个底 |
标准模式 | (不填参数) | 3分钟 | 常规检查 |
掘地三尺 | --full-scan | 10分钟 | 甲方爸爸要的报告 |
4. 重点检测项
# 专查管理后台漏洞
python main.py --check-admin http://example.com
# 只查安全项(SSL/头信息等)
python main.py --security-only http://example.com
四、报告解读技巧
1. 重点关注项
- 🔴 高危:开放了22/3306等敏感端口
- 🟡 警告:jQuery用了老旧版本(比如1.4.2)
- 🟢 建议:图片未压缩、没开Gzip压缩
2. 报告导出
# 生成HTML可视化报告(带图表)
python main.py --html-report http://example.com
# 生成Markdown格式(适合发Wiki)
python main.py --md-report http://example.com > report.md
❓ 常见翻车问题
Q:扫描被网站封了咋办?
A:试试加参数 --delay=2
(每次请求间隔2秒)
Q:报告里说「可能存在漏洞」准吗?
A:需要人工确认,工具只是"怀疑"(就像体检报告说「建议复查」)
Q:公司内网能用吗?
A:可以,但要加代理参数:
python main.py --proxy=http://公司代理:8080 http://内网地址
Q:扫描会被对方发现吗?
A:常规检测像普通访问,但端口扫描可能触发警报!
Q:需要登录的网站能扫吗?
A:目前不支持Cookie认证,内网建议本地部署+自定义请求头
Q:检测结果准吗?
A:准确率90%+,部分检测依赖第三方API,以实际为准
❗ 法律红线
以下行为可能吃官司:
- 未经授权扫描政府网站(.gov/.edu等)
- 利用发现的漏洞进一步入侵
- 把报告卖给黑产团伙
👉 直达项目地址
关注指引
关注我的CDDN博客
更多资源可以查看我的CSDN博客