架构信息收集,主要包括:操作系统、开发语言、中间件容器、数据库类型、第三方软件等;
web源码信息收集,CMS开源?闭源?售卖?自主研发?
进行web源码信息收集的目的是,获取web源码。
获取方式:资源监控(github、gitee)、网站有可能爆源码
获取源码 → \rightarrow →直接利用公开的的漏洞库尝试安全测试;或者白盒代码审计,挖漏洞。
web域名收集,子域名、相似域名、反查域名、旁注等
相似域名搜集方法:
- 找个域名注册网站,直接搜索目标域名,查看是否有相似域名被注册。
- 备案查询,ICP备案查询,查看备案公司,再去查备案公司的信息。
反查域名指的是通过ip反向解析域名,可以使用
nslookup反查域名。
旁注指的是一个服务器上既搭建了目标网站,又有其他网站,这里的其他网站就是旁注。
主机防护信息
人员信息
cms识别、端口扫描、CDN绕过、源码获取、子域名查询、waf识别、负载均衡识别。
X-Power-By字段会显示后端开发语言;power by这样的内容,可以区分网站使用的CMS;wappalyzer或者whatweb(linux),可以获取部分架构信息;
- linux对大小写敏感,windows对大小写不敏感。
- 主要进行大小写替换的时候,不要对参数进行大小写替换。这种方式可能不准确,改大小写,windows服务器可能也不显示页面,这可能与中间件的解析有问题。
- 还可以通过
ping命令的TTL值判断操作系统类型,采用最近原则,距离哪种系统类型最近就是哪种操作系统。
数据库默认端口:mysql 3306、mssql 1433、oracle 1521…
信息收集分类:
常见搭配:IIS+Aspx+Mssql
php网站比java网站简单些,由易到难。