1、Web架构
Web架构方面的信息收集主要是包括开发语言、中间件、数据库、操作系统等,每个层面都有可能出现相应的漏洞,只有收集到足够的信息才能加以利用。
开发语言:一般可以从网站的文件后缀来判断。
中间件:一般可以从数据的响应包中获取到相关的信息,或者是使用端口扫描,常见的中间件在运行时会有默认的端口开启,例如Tomcat/8080、Weblogic/7001、Jboss/8080等,还可以根据常见的建站组合来判断,例如Apache+Mysql+php、IIS+Mssql+asp等。
数据库:一般通过端口扫描来判断,常见的数据库端口有Mysql/3306、Mssql/1433、Orcale/1521、Redis/6379等,也可以根据常见的搭配组合来判断。
操作系统:可以通过网站的大小写是否敏感来判断,Windows对大小写不敏感,Linux对大小写敏感,也可以通过ping目标所返回的TTL值来判断,接近64的一般是Linux,接近128的一般是Windows。
2、Web源码
常见的Web源码主要分为开源的CMS,闭源售卖的,以及内部自主研发的。
在信息收集中,Web源码的获取也是非常关键的,如果能得到目标网站的源码信息,就可以下载到本地进行测试或尝试代码审计。Web源码如果是开源的,就可以直接网上下载获取,如果是闭源或内部的就只能通过泄露安全或资源监控来尝试获取。
3、Web域名
域名的信息收集主要包括子域名的收集、相似域名、IP反查域名、旁注等。可以借助在线的平台或者各种工具脚本。