web安全之信息收集
在信息收集中,最主要是就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息,目标网站系统,CMS指纹,目标网站真实IP,开放端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。
1.1收集域名信息
知道目标的域名之后,获取域名的注册信息,包括该域名的DNS服务器信息和注册人的联系信息等
1.1.1Whois查询
whois是标准的互联网协议,用于收集网络注册信息,注册的域名,IP地址等信息。简单来说,whois就是一个用于查询域名是否已经被注册以及注册域名的详细信息的数据库。在whois查询中得到注册人的姓名和邮箱信息通过对测试个人站点非常有用,因为我们可以通过搜索引擎和社交网络挖掘出域名所有人的更多信息,对中小站点而言,域名所有人往往就是管理员。
在kali系统中,whois已经默认安装。只需输入要查询的域名即可。
在whois查询常用的网站有:爱站工具网站长工具_whois查询工具_爱站网,站长之家域名Whois查询 - 站长工具和VirusTotal,通过这些网站可以查询域名的相关信息,如域名服务商,域名拥有者,以及他们的邮箱电话地址等。
1.1.2备案信息查询
为了防止网站非法经营,对网站的一种管理,根据国家法律法规,网站所有者向国家申请备案,主要针对国内网站,如果网站搭建在其他国家,则不用备案
ICP备案查询网:ICP备案查询网 - 网站备案查询 - 工信部域名备案查询实时数据
天眼查:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统
ICP/IP地址/域名信息备案管理系统
1.2收集敏感信息
Google是世界上最强的搜索引擎之一,Google常用语法介绍。
“xxx”: 将要搜索的关键字用引号括起来 (表示完全匹配,即关键词不能分开,顺序也不能变)
+:“xxx” +baidu.com
搜索xxx与baidu.com 相关的内容
例如:腾讯课堂 +ke.qq.com,那么这里就会显示ke.qq.com相关的内容
-:“xxx” -baidu.com
搜索结果里面除去baidu.com 相关的内容
例如:腾讯课堂 -ke.qq.com,这里再搜索的时候,就会把这个网址屏蔽掉
关键字 | 说明 |
Site | 指定域名 |
Inurl | URL中存在关键字的网页 |
Intext | 网页正文中的关键字 |
Filetype | 指定文件类型 |
Intitle | 网页标题中的关键字 |
link | link:baidu.com即表示返回所有和baidu.com做了连接的URL |
Info | 查找指定网站的一些基本信息 |
chache | 搜索Google里关于某些内容的缓存 |
查找后台
site:xx.com intext:管理|后台|登陆|用户名|密码|系统|帐号|admin|login|sys|managetem|password|username
site:xx.com inurl:login|admin|manage|member|admin_login|login_admin|system|login|user
查找sql注入漏洞
inurl:.php?id=23 公司
inurl:.asp?id=11
查找上传点:
site:xx.com inurl:file| uploadfile
查找敏感信息泄露
intitle:“Index of /admin”
intitle:“Index of /root”
intitle:“Index of /” +password.txt
intitle:phpinfo()或者inurl:phpinfo.php
查找未授权访问phpmyadmin
inurl:.php? intext:CHARACTER_SETS,COLLATIONS, ?intitle:phpmyadmin
不仅仅是Google搜索引擎,这种搜索思路还可以用在百度,雅虎,Bing,shodan、fofa、鹰图等搜索引擎,搜索语法大同小异。
另外Burpsuite的Repeater功能同样可以获取一些服务器的信息,如运行的Server类型以及版本、PHP的版本信息等。针对不同的Server,可以利用不同的漏洞进行测试。
除此之外,尝试在Github上寻找相关敏感信息,如数据库连接信息,邮箱密码,uc-key、阿里的osskey,有时还可以找到泄露的源代码,通过乌云漏洞表乌云网镜像丨乌云知识库丨Wooyun镜像丨乌云漏洞平台查询历史漏洞信息。
1.3收集子域名信息
子域名就是二级域名,是指顶级域名下的域名,假设我们的目标网络规模比较大,直接从主域入手显然是不理智的,因为对于这种规模的目标,一般其主域都是重点防护区域,所以不如先进入目标的某个子域,然后在想办法迂回接近真正的目标。
1.子域名检测工具暴力破解
子域名检测的工具主要有Layer子域名挖掘机、K8、wydomain、Sublist3r、dnsmaper、subDoaminsBrute、Maltego CE等,推荐Layer子域名挖掘机、Sublist3r、subDoaminsBrute
Layer子域名挖掘机使用简单,在域名对话框中直接输入域名就可以进行扫描,显示界面细致,有域名、解析IP、CDN列表、Web服务器和网站状态。最下面可以看到枚举进度
subDomainBrute的特点是可以用小字典递归的发现三级域名、四级域名、甚至五级域名。执行命令: python subdomainbrute.py xxxxx.com
Sublist3r也是一个比较常用的工具,它能列举多种资源,如在Google、Yahoo、Bing、baidu和Ask等搜索引擎中可以查到的子域名,还可以列出Netcraft、VirusTotal、ThreatCrowd、DNSdumpster和Reverse DNS查到的子域名
(1)subDomainsBrute:https://github.com/lijiejie/subDomainsBrute
(2)teemo:https://github.com/bit4woo/teemo
(3)Sublist3r:https://github.com/aboul3la/Sublist3r
(4)gobuster:https://github.com/OJ/gobuster
(5)assetfinder:https://github.com/tomnomnom/assetfinder
(6)Sudomy:https://github.com/Screetsec/Sudomy
2.搜索引擎枚举
(1)baidu
(2)bing
(3)google
(4)sougou
利用Google语法搜索子域名,例如搜索百度下的子域名可以使用:site:baidu.com
3.第三方聚合应用枚举
很多第三方服务汇聚了大量DNS数据集,可通过它们检索某个给定域名的子域名,只需在搜索栏输入域名即可。
(1)ip138:https://site.ip138.com/
(2)百度云观测:http://ce.baidu.com/index/getRelatedSites?site_address=baidu.com
(3)circl:https://www.circl.lu/services/passive-dns/#passive-dns
(4)hackertarget:https://hackertarget.com/find-dns-host-records/
(5)riddler:https://riddler.io/search?q=pld:baidu.com
(6)bufferover:https://dns.bufferover.run/dns?q=.baidu.com
(7)dnsdb:https://dnsdb.io/zh-cn/search?q=baidu.com
(8)ipv4info:http://ipv4info.com/
(9)robtex:https://www.robtex.com/dns-lookup/
(10)chinaz:https://alexa.chinaz.com/
(11)netcraft:https://searchdns.netcraft.com/
(12)securitytrails:https://docs.securitytrails.com/v1.0/reference#get-domain
(13)dnsdumpster:https://dnsdumpster.com/
(14)sitedossier:http://www.sitedossier.com/