0x00 啥是 CDN?
对于这个问题, 很多大佬已经讲过了, 我就不多 bb 了, 直接上链接: https://www.zhihu.com/question/36514327?rf=37353035
作为一个 web 狗, 只需要知道: CDN 全称内容分发网络, 它会部署很多的缓存服务器, 放在用户访问相对集中的地区或网络中. 当用户访问网站时, 将用户的访问指向距离最近的缓存服务器上, 由缓存服务器响应用户请求, 以达到最终的目的, 即访问加速
0x01 啥时候要绕过 CDN?
有数据交互的时候, 数据都是要到达真正的服务器的, 所以我们在做渗透的过程中, 有些时候可以忽略cdn, 比方说, 上传漏洞, 注入漏洞等.
那啥时候cdn会干扰我们渗透呢? 在爆破比如端口扫描
的时候, 因为搞了半天, 只是在搞 cdn的服务器, 根本不是真正的服务器.
0x02 如何判断是否使用了 CDN?
判断是否使用了 CDN, 即判断 ip 是否为网站真实 ip
那如何判断是不是真实 ip 呢? 一般来说有如下几种方法:
- Nslookup
直接使用nslookup命令进行查询, 若返回域名解析结果为多个ip, 多半使用了CDN.
举个例子, 如下图: 在查fengwenhua.top的时候, 只返回了一个 ip, 说明这个网站没有使用 cdn. 而在查fengwenhua.xyz的时候, 返回了多个 ip, 说明该网站很可能使用了 cdn.
- 多地 ping 查询
使用多地 ping, 查看 ping 的 ip 结果是否唯一. 若不唯一, 则目标网站可能存在CDN.
可以多地 ping 的网站如下:
爱站: https://ping.aizhan.com/
站长之家: http://ping.chinaz.com/
先看爱站的ping: https://ping.aizhan.com/
返回多个 ip 说明存在 cdn
接下来看站长工具的 ping, 打开站长工具, 在网站信息查询找到ping 测试
然后输入要查询的域名, 选择全选, 点击Ping检测即可
可以看到返回了多个 ip, 说明fengwenhua.xyz这个网站用了 cdn
- 使用工具直接查询
也有可以直接查找 cdn 的, 如下:
https://github.com/turbobytes/cdnfinder
https://www.ipip.net/ip.html
0x03 如何绕过cdn, 找到真实ip呢? - 查找子域名
cdn 架设需要钱, 因此一般都是给主域名架设cdn, 一些子域名就可能没有用 cdn.
至于如何查询子域名, 方法就多得多了.
dbsdb, 如用baidu.com type:A来收集百度的子域名和 ip
Google hack, 如用site:baidu.com -www来查看百度除了www外的子域名
子域名扫描器, 如subDomainsBrute, Layer 子域名挖掘机, Sublist3r等等
- 让服务器给我们发邮箱或者Mx记录
很多站点都有发送邮件的功能, 比如说忘记密码、注册、RSS 邮件订阅之类的地方. 一般的邮件系统很多都是在内部, 没有经过CDN的解析, 因此可以在邮件源码里面找到服务器的真实 IP.
MX记录也是一种常见的查找IP的方式. 如果网站在与web相同的服务器和IP上托管自己的邮件服务器, 那么原始服务器IP将在MX记录中, 以 163.com 为例子, 用nslookup查 mx 记录
ps: 如果是大站, 会有自己的独立的邮件服务器给你发送, 那么这个邮件服务器的有可能跟目标Web在一个段上, 我们直接一个一个扫, 看返回的HTML源代码是否跟web的对的上。
. 历史DNS记录
查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip。查询网站有:
https://www.ip138.com/
https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
https://sitereport.netcraft.com/
http://viewdns.info/
http://www.17ce.com/
Site 复制
以 ip138 为例子
- 网络空间搜索引擎
最常见的网络空间搜索引擎有钟馗之眼、shodan、fofa搜索
钟馗之眼: https://www.zoomeye.org/
Shodan: https://www.shodan.io/
FOFA: https://fofa.so/
这里利用的原理是: 如果目标站点通过 ip 也可以访问并返回相同的内容. 那么我们就可以通过这些网络空间搜索引擎搜索相同的内容, 岂不是轻而易举的找到相同内容对应的 ip?
这里还剩下一个问题, 那个相同的内容选择啥比较好? 为了不会搜错, 所以我们要选择那些独一无二的片段.
1.在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics、reCAPTCHA、百度统计)是攻击者经常使用的方法
2.特定的 keyword, 如 title, css, js, url等. 毕竟每个网站的 title 都是独一无二的.
2.特定的 http 头部如类型版本等信息
下面以搜 title 和 body 内容为例
搜 title
FOFA
具体操作一般为以下两个步骤:
1.title="网站 title" 得到IP
2.再用 ip=="刚刚找出的ip" , 得到 ip 对应的域名, 看看这个域名是不是我们的目标
ZoomEye
SHODAN
http.title:网站的 title
评论 (0)