使用了CloudFlare 的CDN,怎么找出网站的真实IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用了CloudFlare 的CDN,怎么找出网站的真实IP相关的知识,希望对你有一定的参考价值。

电脑开始界面--运行里面输入cmd回车,出现的黑色方框输入nslookup 加上网址。回车后出现的ip地址就是网站的ip 参考技术A 源站ip是你购买服务器的时候服务商就给你的ip了
如果你使用了cdn,源站ip会被隐藏,是不能找出来的。
如果你觉得cloudflare的cdn加速效果不明显,可以换加速乐cdn。
参考技术B

cdn穿透工具

参考技术C 寻找隐藏在CloudFlare和Tor后的真实IP
在渗透测试时,我们经常会遇到目标处于CloudFlare或其他cdn服务之后,使我们无法发现原始服务器IP,难以使用某些渗透手段。但是,这类网站一旦出现设置不当,就有可能暴露真实IP。而一旦我们获得了真实IP,自然就可以对这些网站进行暴力破解,DDoS攻击等等。注意,隐藏Tor后的网站也有这种风险。以下将介绍几种发掘网站真实IP的方法,希望大家能针对性地使用。

1.SSL证书
1.1 使用给定的域名

假设你有一个网站,域名为xyz123boot.com,服务器真实IP是136.23.63.44。CloudFlare为网站提供DDoS保护,Web防火墙和其他一些安全服务。你的Web服务器支持SSL并有证书,因此CloudFlare与你的服务器之间的通信就像你的网站用户和CloudFlare之间的通信一样加密(即SSL不够灵活)。乍一看,好像没什么问题。

但是,此时,真实IP的443端口(https://136.23.63.44:443)的证书会直接暴露在互联网上。若对全球IP的443端口进行扫描,就能在某个IP的443端口上获取涉及 xyz123boot.com 的有效证书,而这个IP就可以说是服务器的真实IP。

很多网络搜索引擎可以收录证书信息。你唯一需要做的就是将网站域名的关键词进行搜索。

例如,对于Censys网络搜索引擎,xyz123boot.com的证书的搜索语句如下:

parsed.names: xyz123boot.com
只显示有效的证书:

tags.raw: trusted
在Censys上对这些搜索条件进行布尔组合即可。

最后搜索语句:

parsed.names: xyz123boot.com and tags.raw: trusted

Censys将显示符合上述标准的所有证书,这些证书是他们在全球扫描中找到的。

逐个单击搜索结果,你可以在详情页面右侧的“浏览”中发现多个工具,然后我们点击What's using this certificate? > IPv4 Hosts。

这时你可以看到使用这个证书的所有IPv4主机列表。其中某个就可能是真实IP。

最后,你可以直接导航到某个IP的443端口进行验证,看它是否重定向到xyz123boot.com?或者是否会直接显示网站?本回答被提问者采纳

反向代理Cloudflare加速网站(SNIproxy)

技术图片
写在教程前:为什么要反向代理cloudflare?答:缩短路由,加快cloudflare节点到大陆用户的速度,用过cloudflare的用户应该知道,这家CDN的速度在除了大陆以外的地方访问都非常快,那么又没有什么办法使其对大陆访问良好呢?
该操作适用环境:

①不想暴露源站,但是国内搜索引擎对cf节点抓取速度慢

②没被攻击前使用自建反代加快访问,宕机后迅速切换为cf官方节点(dnspod)

③没有使用NS接入而是CNAME

④有一台对国内访问快且访问Cloudflare也很快的服务器(如 PCCW、HKBN、TW中华电信、 bbtec)

反代程序有很多种,但是在这里我选用了SNI Proxy,为什么?因为Nginx等传统反代需要自行配置https证书,且无法如果CDN设置了强制https或重写https国内,将会出现跳转错误。

开始安装SNI Proxy

基本环境安装:

yum -y install tar wget &&   yum -y groupinstall "Development tools" &&   yum -y install pcre-devel pcre

安装辅助包libev4:

wget http://dist.schmorp.de/libev/Attic/libev-4.25.tar.gz && tar zxvf libev-4.25.tar.gz && cd libev-4.25 && ./configure -prefix=/usr/local/libev4 &&  make &&  make install

安装辅助包udns:

wget http://archive.ubuntu.com/ubuntu/pool/universe/u/udns/udns_0.4.orig.tar.gz  && tar zxvf udns_0.4.orig.tar.gz  && cd udns-0.4  && ./configure  &&  make
cd .. 
mv udns-0.4 /usr/local/udns

安装sniproxy:

wget https://down.cangshui.net/-mytargz/sniproxy.tar.gz && tar -zxvf sniproxy.tar.gz && sudo chmod -R 777 sniproxy && cd sniproxy
export CFLAGS='-I/usr/local/libev4/include -I/usr/local/udns' && export LDFLAGS='-L/usr/local/libev4/lib -L/usr/local/udns' && export LD_LIBRARY_PATH=/usr/local/libev4/lib:$LD_LIBRARY_PATH
./autogen.sh
./configure -prefix=/root
make
make install

这样sniproxy就装到了/root/sbin/sniproxy,建立一个配置文件: vi /etc/sniproxy.conf 把一下内容编辑进去:

user nobody
resolver {
nameserver 1.1.1.1 #指定NDS
mode ipv4_only #只解析IPV4
}
listen 80 {
proto http
table http_hosts
access_log { 
  filename /var/log/http_access.log   
  priority notice
     }
}
table http_hosts {
(.*.|)cangshui.net$ *#只允许自己的域名,改成自己的
}
listen 443 {
proto tls
table https_hosts
access_log { 
  filename /var/log/https_access.log   
  priority notice
     }
}
table https_hosts {
(.*.|)cangshui.net$ *#只允许自己的域名,改成自己的
}

启动SNIproxy:

/root/sbin/sniproxy -c /etc/sniproxy.conf

检查是否成功启动:

ps -ef | grep sniproxy

PS。记得iptables开放443/80端口:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT 
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

如何测试?本地修改HOST文件,windows端打开:

C:WindowsSystem32driversetchosts

然后写上:

你的反代服务器IP 你的域名
如:
68.68.68.68 lhzj.site

测试成功的话就可以解析到这个IP上了

需要注意的是:每次重启机器之后直接启动程序会报错

error while loading shared libraries: libev.so.4: cannot open shared object file: No such file or directory

你需要先执行

export LD_LIBRARY_PATH=/usr/local/libev4/lib:$LD_LIBRARY_PATH

然后再启动软件

以上是关于使用了CloudFlare 的CDN,怎么找出网站的真实IP的主要内容,如果未能解决你的问题,请参考以下文章

使用了CloudFlare 的CDN,怎么找出网站的真实IP

使用了CloudFlare 的CDN,怎么找出网站的真实IP

给网站接入CloudFlare的CDN

国外免费CDN CloudFlare申请教程

如何在CloudFlare下Nginx实现访客真实IP网站日志?

反向代理Cloudflare加速网站(SNIproxy)