至今还不知道数据库语言,因为用了CDN,查到了两个IP,但是两个IP都不是腾讯云、阿里云这样的服务器,也只开了22 80 8080 443端口,还全都浏览器访问不了。插个内幕:其实他是内网服务器,通过内网穿透的。
扩展
今天逛一个博客,发现了“RSS:https://blog.qi1.zone/feed”。RSS是什么?
RSS是一种用于订阅和同步网站内容的网络数据格式。它的全称是"Really Simple Syndication"(真正简单联合),它允许用户订阅自己感兴趣的网站的内容,如博客、新闻网站、音频和视频网站等。通过RSS,用户可以使用RSS阅读器或者其他支持RSS的应用程序来获取网站更新的通知,并查看最新的内容,而不需要直接访问网站。
RSS的工作原理是,网站会生成一个包含最新内容的RSS文件,用户可以通过RSS阅读器订阅这个文件,然后就可以在阅读器中查看最新的内容更新。这样一来,用户就可以方便地跟踪多个网站的更新,而不需要每次都手动访问这些网站。
域名的MX记录和邮件有关,MX是什么单词的缩写?
MX是"Mail Exchange"的缩写。MX记录用于指定邮件服务器的地址,以便将电子邮件发送到指定的域名。MX记录通常用于指定接收特定域名邮件的邮件服务器。
如果站长写了的网站程序有个漏洞,并且站长给网站开启了CDN,黑客可以通过站长的这个漏洞黑进CDN服务器吗?
这取决于漏洞的具体情况和CDN服务器的配置。一般来说,如果站长在CDN服务器上没有采取相应的安全措施,黑客有可能利用漏洞入侵CDN服务器。然而,这并不是绝对的,因为CDN服务器本身通常会有一定的安全防护机制。
但是渗透测试不喜欢CDN节点服务器,因为CDN节点服务器上的网站只是个源站的缓存,拿它权限意义不大。
把CDN服务器拿下了,能在上面找到和源站IP的通信记录吗?
CDN厂商对站长太好了,黑客拿下CDN服务器找不到通信记录,会有零散的日志啥的,但是帮不了找源站IP。
伪静态的网页怎么判断他的网站语言是什么?
用插件啊。火狐的Wappalyzer插件一键分析网站的技术栈。其次之前教的社工网站的语言类型的技术都能用。
访问网页的url都是目录型如https://pay.wangyuan.com/recharge/game/list,就很可能是伪静态(因为不敢说绝对)。
站长视角的CDN
CDN服务器上也可以有WAF,用于拦截黑客的攻击扫描:
开通CDN时:
可以指定加速的域名,可以是通配符表示的如*.ink0.cn,此时访问ink0.cn是加速的;如果是加速www.ink0.cn,那么访问ink0.cn是不加速的。
可以选择业务类型,即给哪些资源加速。全站加速就是所有文件都加速:
源站信息指定了源站:
加速区域,选择仅中国的话,外国访问网站就没有CDN服务,但会省钱:
上述是阿里云和腾讯云CDN的选项,所以选国外,可能会加速全球包括非洲地区,但有的CDN厂商的加速区域细分到在哪些国外的国家或地区开通CDN,并列出各国不同的价位表如非洲7块/G,韩国3块/G。
老师已经配置好了,加速的域名是www.yanshiqi.com,源站IP是47.75.212.155,同时在域名解析那里设置了www.yanshiqi.com的cname记录解析值为www.yansiqi.com.w.kunlunaq.com,现在ping www.yanshiqi.com:
发现相应的是CDN节点119.96.89.89。
验证CDN开通成功的方法就是从各地ping - 超级ping。
绕过CDN寻找网站真实IP的方法汇总
判断ip是否为网站真实ip
-
Nslookup
理解ns:ns取自DNS的name server即名称服务器,ns用于解析域名和 IP 地址之间的映射关系。
https://www.whatsmydns.net/#NS/ink0.cn 这个工具网站提供了查询域名的dns服务器的作用:
而nslookup.exe是windows自带的命令,使用方法为在cmd里
nslookup 域名
,作用为查询域名的DNS记录和域名解析到的服务器的IP。Win下使用nslookup命令进行查询,若返回域名解析结果(下图绿色线头所指区域)为多个ip,多半使用了CDN,是不真实的ip。
-
多地ping。不多说
绕过CDN查找真实ip
注意到站长开通CDN时需要指定加速的域名、加速区域和加速的资源(即业务类型),于是有了以下绕过CDN方法。
看完下面你会不会觉得只要站长选择*.域名加速、全球加速、全站加速就能让攻击方法失效?:是的,但是成本会上来,我不信有中小网站会这样开。
-
基于加速的域名,所以从子域名入手:上面老师加速的域名是www.yanshiqi.com,所以访问test.yanshiqi.com就很可能能找到真实IP。风险:站长加速的域名是*.yanshiqi.com、站长的子域名和主站的服务器不是同一个IP(不过一般不会)。
-
基于加速区域,所以从国外访问网站入手:开通国外的CDN很贵,例如非洲地区,CDN服务费的单价比中国高7倍,不是人尽皆知的大型网站和跨国公司,尤其是瞳孔这样的个人博客,肯定不舍得开。直接从国外查域名的DNS解析记录,例如很多超级Ping都有国外节点,或者。下图牛逼,直接不考虑外国人访问,毕竟全中文界面的服务对象也不是外国人,也不一定,可能用了真实IP检测技术,因为我开美国梯子去访问还是能访问到。建议从互联网不发达国家如非洲去访问网站,因为非洲互联网不发达且非洲CDN单价贵,所以公司不大可能对非洲开CDN,而新加坡、美国等国家可能开CDN,推荐工具网https://tools.ipip.net/cdn.php,因为它在每个州都有节点,所以有很多冷门不发达国家节点。
-
域名历史解析ip:例如瞳孔去年还没有做大做强,用不到CDN,今年才开通CDN,而他的域名和真实IP在去年可能已被互联网上某块磁盘记录下了
该方案受限于解析变更极少、CDN部署很早或者域名收录量太低 等几种情况。
-
http://toolbar.netcraft.com/site_report?url= (查询结果里找Hosting History栏)
-
https://viewdns.info/iphistory/ (对中大型网站有用,小网站,我试了几个博客了,都没收录过一点记录)
-
-
-
利用网站漏洞。
如果目标站点存在漏洞,例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。若存在web漏洞,服务器主动与我们发起请求连接,我们也能获取目标站点真实ip。例如xss、ssrf、命令执行反弹shell等。
解决方案:删除敏感文件
-
Mx记录或邮件。很多站点都有发送邮件sendmail的功能,如Rss邮件订阅等。而且一般的邮件系统很多都是在内部,没有经过CDN的解析。可在邮件源码里面就会包含服务器的真实 IP,而且让受害者主动发邮件给你类似于反向连接,比正向连接更容易暴露IP。(这是查域名的邮件服务器的)
收到受害者发来的邮件然后这样看:
难点在于如何让网站主动发邮件给你:
-
博客网站的评论:
-
通过邮件方式找回密码、激活账户、发送验证码、注册账号等可以让网站发送一个邮件给我们的方式。
经验:任何让服务器主动发起请求连接攻击者的方式 都可能导致服务器不安全
针对本攻击技巧的防护方案:使用邮件头不显示ip的smtp服务,或者将邮件服务更改为使用WEBAPI发送邮件即可。
-
-
扫描探测(不太懂,等老师细讲)
通过信息收集,缩小扫描范围,确定一个相对小的IP和端口范围(中国?AS号?B段?等)
通过http指纹特征和keyword等做综合判断。可使用工具如下:
-
http://www.ipdeny.com/ipblocks/ (这网站提供了各国的IP网段分布的汇总)
zgrab 是基于zmap无状态扫描的应用层扫描器,可以自定义数据包,以及ip、domain之间的关联。可用于快速指纹识别爆破等场景。可参考这篇文章:
-
(万能方式)扫描全球ip匹配web内容:网站有很多扫描全网的工具,包括fuckcdn、w8fuckcdn、Zmap。都是同行,案例5教fuckcdn,因为老师认为fuckcdn更快捷,无需安装,打开即可使用;相比w8fuckcdn要安装要执行脚本,怎么简单怎么来。
Zmap大法?:据说扫描全网,只要44分钟?(不要扫描全网,会被运营商封带宽的)可参考这篇文章:。据说有先辈成功复现,使用zmap扫描整个亚洲ip,匹配到wooyun的源站ip。
直接贴上先辈复现内容
0x1.CNIP
从apnic获取亚洲区域所分配到的IP,过滤出CN的IP.
wget
0x2.端口扫描
zmap对全CN的IP的80端口进行扫描.
嗯,在我的vps上大概需要20min,所以还是先出去喝杯咖啡
0x3.获取banner
使用zmap的banner-grab对扫描出来80端口开放的主机进行banner抓取
嗯,在http-req中的Host写,并且使用ulimit将最大描述符数修改为一个较大的值,
直接开扫:
唔,在这里,考虑到打开挺慢的,所以将连接超时和读超时都设置为30s,这段时间可以出去看.
0x4.处理
使用关键字"80sec"对获取的数据进行简单过滤
这400+的,一般可以分为三种:
baiducdnserverhttpproxyserver*
可以对这400+服务器再进行一次banner获取,不设置Host,过滤掉baiducdn错误页面,空页面,超时等乱七八糟的页面,然后就可以得到结果了,我去问了一下相关负责人的IP,果不其然
总耗时大概两个多小时。
0x5.猜想
一些的测试服务器是放在外网的,一般只有绑定了Host才能进行,所以...
0x6.感谢
唔,这主题是从我的vps蜜罐上看到有人设置一些莫名其妙的Host得出的猜想.thx
-
黑暗引擎搜索法 - zoomeye、fofa、shodan
通过这些公开的安全搜索引擎爬取得历史快照,主要得一些特征总结如下:
特有的http头部(如server类型、版本、cookie等信息)、
特定keyword(如title、css、js、url等)(这是基于开通CDN时选择的加速的类型,例如选择只加速图片小文件,那么我请求大文件或者音视频就能从主站得到响应)、
特定的IP段搜索(如fofa支持C段搜索),
有些时候爬取的时候不一定含有上面那些特征,但是我们仍然需要仔细排查。
-
工具网站https://get-site-ip.com/ 一键式绕过CDN找出真实IP。它的原理就是替你用上述手段自动化检测真实IP。所以可能不准。
-
从CDN服务商平台入手。例如老师是阿里云开通的CDN。通过社工找到账号,通过弱口令登录老师的阿里云,去CDN控制台一看便知。 -
DDOS:因能力有限复现不了,但是很多大牛都说曾实现过,故收录。据传免费cdn在受到的DDOS攻击超过自己所承受的防御时则会将域名回源。有流量的各位可以试一下 百度云加速和云盾免费版都是防御5GB/S流量,看看超过了到底能不能让域名回源。
拿到真实IP后的善后
-
拿到IP后去,毕竟咱也不能说100%正确率拿到真实IP嘛,如果是局域网IP那肯定没戏:
-
再,如果显示腾讯云服务器啥的,那绝对有戏:
-
从多种技术手段多方面查真实IP,例如参见案例4,就查到两个真实IP。然后通过社工的手段判断真假美猴王。
-
确定了域名如www.test.com的真实IP为1.2.3.4后,修改自己主机的hosts文件,在
C:\Windows\System32\drivers\etc\hosts
或/etc/hosts
,添加1.2.3.4 www.test.com
。这样在自己主机上做安全测试和使用工具时,输入域名也能直接访问到真实IP。
CDN绕过实例1 - 基于漏洞和遗留文件
利用遗留文件获取真实IP
这里的遗留文件特指能暴露主站IP的文件,因程序员疏忽而部署上线。
沿着上述老师已经配置好了,加速的域名是www.yanshiqi.com,源站IP是47.75.212.155,同时在域名解析那里设置了www.yanshiqi.com的cname记录解析值为www.yansiqi.com.w.kunlunaq.com。假设www.yanshiqi.com/phpinfo.php就是上述说的遗留文件,访问能显示phpinfo();
注意到SERVER["SERVER_ADDR"] = "172.31.138.255";
这是什么IP?:这是服务器的内网IP,相当于ifconfig查到的IP:
好像没泄露外网即公网IP?:是的。老师的服务器安装了内网网卡,所以SERVER["SERVER_ADDR"] = 内网IP。但如果服务器没有安装了内网网卡,那么SERVER["SERVER_ADDR"] = 外网即公网IP,SERVER["SERVER_ADDR"]变量正如名字,获取服务器地址
利用漏洞获取真实IP
有许多可泄露IP的漏洞(例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露、xss、ssrf、命令执行反弹shell等)。假设受害服务器上的ssrf.php有ssrf漏洞(暂不细讲),访问www.yansiqi.com/ssrf.php:
而如下是ssrf.php的核心代码,简单说就是点击提交后ssrf.php会请求你提交的url:
然后ssh登录另一台攻击机服务器47.94.236.117并执行python2 -m SimpleHTTPServer 8080 启动一个http服务:
然后在受害机上提交http://47.94.236.117:8080:
此时攻击机收到来自受害机的连接(反向连接),并暴露了受害机的IP:
上述原理就是让服务器主动与我们发起请求连接。
CDN绕过实例2 - 基于未给子域名开通CDN
访问www.sp910.com和sp910.com都是如下网站:
先判断是否开通了CDN(插一嘴,面向全国用户的视频类网站如斗鱼直播、短视频网站基本都会开CDN,不然做不到全国用户都能畅快看直播刷视频):
超级ping去ping www.sp910.com
返回了不止一个IP,可见有CDN。我们此时思路是借助子域名,可以子域名查询,例如子域名sp910.com,然后接着超级ping去ping sp910.com
,却只有一个IP。那么我们得到了真实主机IP也知道了它的CDN的加速域名是仅www.sp910.com
CDN绕过案例3 - 基于接口查询的从国外访问网站
技术支持:
-
-
有国外站点的超级ping。但是不推荐,因为一般都是发达国家的节点,我们最好拿互联网不发达的非洲去访问网站
-
https://tools.ipip.net/cdn.php 最推荐,具备各州节点如非洲节点
风险(阻碍):
-
站长开通了全球CDN包括非洲的,但少。
-
网站只服务中国人,外国人访问不了:
CDN绕过案例4 - 主动邮件配合备案
受害者:墨者学院。
发现真实IP:219.153.49.169 (重庆市 重庆 电信)。
然后老师又借助了得到的真实IP是58.251.150.12 (广东省 深圳市 联通):
犯难了,两个都有较高的准确率,不过邮件的准确率更高。我们可以借助社工的手段判断哪个是真的真实IP。
社工原理:
-
学校的网站多半会把服务器放在学校机房呀、用自己机房服务器的公司也基本是把服务器放公司里,不然出故障怎么远程修呀。例如查到民航大学在天津,那么我们首选天津IP是真实IP。
-
网站的备案信息如墨者学院的
渝CP备14007504号-3
也能反映网站是哪个省的,这里是重庆省,所以我们首选219.153.49.169 (重庆市 重庆 电信)是真实IP。
CDN绕过案例5 - 全网扫描
为了照顾小趴菜,教FuckCDN的使用,有能力者可进阶FuckCDN同行w8fuckcdn、Zmap。
-
我们的目标是找到域名的真实IP。打开set.ini,FindUrl是目标站点;FindstrStr填入访问目标站点时,在获取到的<title>xxx</title>里的像指纹一样能识别网站的关键字xxx。例如“创建成功”、“chatgpt”;ScanPort是扫描的端口。
-
打开ip.txt,写入待扫描的"全网IP"。机器会依次访问IP,并查找有关键字FindstrStr的IP。可见风险:主站真实IP没有绑定到网站上、IP被墙了、你填入的IP段实际上不含目标站点。
不知道怎么写?:例如知道它的服务器是阿里云的,就查下阿里云的服务器的IP段,填进去。例如知道备案号是渝,就查下重庆的IP段,填进去。最菜的就把全网IP填进去,但是肯定会扫描更费时间。老师为了演示,只填了两个IP段,注意看下图,不是瞎填的,有递增的规律。
你可能会用到查询区域的IP库:自己找吧
-
点击fuckcdn.exe,它先让你输入
ip:port
,你用ping的方式得到网站的CDN节点是119.96.89.89,于是输入119.96.89.89:80:出现The config works well就是第一二步配置好了,否则就是没配置好。
好像意思就是你在第一步中设置了访问IP:80并获取其title,然后匹配title里是否有FindstrStr。这里意思是让你提供一个已符合title里有FindstrStr的IP:80,先跑一次程序,看看配置得对不对。
老师提供的119.96.89.89是FindUrl的一个cdn节点呀,怎么可能访问119.96.89.89:80就能访问到FindUrl的服务,就像下图?:
答:这里输入IP:port的作用就像在hosts文件里插入
119.96.89.89 www.yansiqi.com
的作用,是指访问FindUrl时指定用哪个CDN节点的服务。我一开始输入我自己服务器(没开CDN)的IP:80,结果仅这一步测试配置是否得当就直接卡死服务器,可能是运行了配置里WorkThread和Fuck Thread代表的几十个线程去访问IP:80,占用了服务器的TCP最大并发连接数。这种事情少干,会卡死ip.txt里提到的服务器:
(看起来还不支持重定向:
)
-
继续执行,程序会扫描ip.txt的IP的80端口,直到完成显示--> All tasks that have ended <--
-
若有结果,会生成result_ip.txt。
共有 0 条评论