网站指纹识别是一种通过分析网站的特定信息来识别其技术栈、操作系统、Web服务器、脚本语言和数据库类型等的方法。以下是一些常用的技术和工具:
1. **操作系统判别**:
- **Ping判别**:Windows系统的TTL值一般为128,Linux系统为64。TTL大于100的一般为Windows,几十的一般为Linux。
- **Nmap -O参数**:使用Nmap工具的-O参数可以进行操作系统探测。
- **区分大小写**:Windows系统不区分文件名大小写,而Linux系统区分。
2. **网站服务/容器类型判别**(通过容器类型可以判断考虑对应容器存在的漏洞):
- **F12查看响应头Server字段**:在浏览器中按F12打开开发者工具,查看网络请求的响应头中的Server字段。
- **WhatWeb**:访问 https://www.whatweb.net/ 进行在线网站技术栈识别。
- **Wappalyzer插件**:安装Wappalyzer插件,可以在浏览器中直接查看网站所使用的技术和平台。
3. **脚本类型判断**:
- **PHP**:常见于PHP开发的网站。
- **JSP**:Java Server Pages,用于Java Web开发。
- **ASP**:Active Server Pages,用于Windows平台的Web开发。
- **Python**:使用Python编写的Web应用。
4. **数据库类型**:
- **MySQL**:开源关系型数据库管理系统。
- **SQL Server**:微软公司的关系型数据库管理系统。
- **Access**:微软公司的轻量级数据库管理系统。
- **Oracle**:甲骨文公司的关系型数据库管理系统。
5. **CMS识别**:
- **常见的CMS(内容管理系统)包括DedeCMS(织梦)、Discuz、phpcms等**。
- **在线识别工具**: http://whatweb.bugscaner.com/look/
- **Onlinetools**: https://github.com/iceyhexman/onlinetools 和 https://pentest.gdpcisa.org/
- **利用ExploitDB在线工具查找历史漏洞进行分析**。
敏感文件及目录探测是一种寻找网站上可能存在的敏感信息或易受攻击的文件和目录的方法。常见的敏感文件和目录包括版本控制系统的文件(如Git、SVN)、备份文件、配置文件等。这些信息可能泄露了敏感数据,如登录凭据、数据库连接信息等。
1. **GitHub泄露**:开发人员可能将代码上传到GitHub时忘记删除敏感信息,导致泄露。
2. **.git泄露**:如果配置不当,可能会将.git文件夹部署到线上环境,导致源代码泄露。
3. **.svn泄露**:与.git类似,都是版本控制系统的相关文件,可能导致源代码泄露。
4. **网站备份文件**:管理员可能误将备份文件存放在网站目录下,导致敏感信息泄露。
5. **目录探测**:使用工具如**dirsearch**、御剑后台扫描工具、**dirmap**等进行目录枚举,寻找敏感目录。
网站WAF(Web Application Firewall)识别是用于识别网站是否使用了Web应用防火墙的技术。WAF可以防止各种网络攻击,如SQL注入、XSS跨站、CSRF等,以及自动化攻击、爬虫、0day攻击等。
1. **WAF识别工具**:
- **wafw00f**: https://github.com/EnableSecurity/wafw00f
- **Nmap**:使用Nmap工具的http-waf-detect和http-waf-fingerprint脚本进行WAF识别。