因此,当你用御剑扫描时:
若扫描域名,扫描的实际是网站根目录下的一个文件夹;
若扫描IP,扫描的实际是网站的根目录。
WEB源码拓展
域名解析基础知识
参考链接
古典密码学自己整理过一次,现代密码还没怎么学习,在连接中学吧
参考链接
操作系统判断:
Windows对网址大小写不敏感,Linux对大小写敏感。也就是说你可以在网页中替换网站路径的大小写进行测试。
(1)有url时
Windows:url输入大写或者小写,页面展示没有区别
Linux :url输入大写,页面不展示
(2)没有rrl时,对ip进行端口扫描
通过nmap进行扫描:nmap -O IP地址 (推荐)
通过TTL来判断目标主机的操作系统类型;
不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。
数据库端口:
一、关系型数据库
1、MySql数据库 ,默认端口是: 3306;
2、Oracle数据库 ,默认端口号为:1521;
3、Sql Server数据库 ,默认端口号为:1433;
4、DB2数据库, 默认端口号为:5000;
5、PostgreSQL数据库, 默认端口号为:5432;
6、国产的DM达梦数据库, 默认端口号为:5236。
二、NoSql数据库(非关系型数据库):
1.Redis数据库,默认端口号:6379;
2.Memcached数据库,默认端口号:11211 ;
3.MongoDB数据库,默认端口号:27017;
https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/
…
更多针对违法应用源码:
可利用fofa和bing、谷歌等搜索关键字获取
CDN介绍:
CDN的全称是Content Delivery Network
,即内容分发网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若存在CDN服务,将会影响到后续的安全测试过程。
判断目标存在CDN:
CDN对于安全测试有哪些影响:
cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。
常见的CDN绕过技术:
1.子域名查询:因为有些主站是做了CDN服务而子站是没有做CDN服务(节约成功)
一般子站部署时,有3种情况,
一是跟主站相同IP,此时我们知道了子站IP,相当于知道了主站IP;
二是跟主站IP不同,但是网段相同,此时可以扫描相同网段是否存活其他主机,大概率就是主站IP。比如192.168.1.100是子站IP,那么就扫描1-254网段判断;
三是子站IP和主站IP完全没有关系,此种情况我们无法判断,暂不考虑。
以学而思为例,利用子域名上的小技巧
超级ping一下www.xueersi.com,有63个IP;
超级ping一下xueersi.com,只有一两个IP,真实IP是其中一个。
原理解释:
一般配置网站域名时,大部分人会进行如下配置
这里有2条记录:
第一条表示,xiaodi8.com指向47.75.212.155;
第二条表示,www.xiaodi8.com也指向47.75.212.155;
这就意味着,当你在浏览器中访问xiaodi8.com和www.xiaodi8.com时,返回的内容是一样的。
但是,当给网站配置CDN时,大部分人会直接给第一条记录www.xiaodi8.com配置CDN,而漏掉了第二条记录xiaodi8.com。
因此当你超级ping www.xiaodi8.com时,会出现多个IP,超级ping xiaodi8.com时,仅出现一个IP,也就是真实IP。
1.1 子域名查询工具
○ DNS查询:https://dnsdb.io/zh-cn/
○ 微步在线:https://x.threatbook.cn/
○ 在线域名信息查询:http://toolbar.netcraft.com/site_report?url=
○ DNS、IP等查询:http://viewdns.info/
○ CDN查询IP:https://tools.ipip.net/cdn.php
○ SecurityTrails平台: https://securitytrails.com/domain/www.baidu.com/history/a
○ 在线子域名二级域名查询:http://tools.bugscaner.com/subdomain/
○ 工具子域名挖掘机,可以在网上找到。
1.2 子域名小技巧
一般情况下,www.XXX.com和XXX.com指向的是同一个DNS服务器,进入XXX.com会自动跳转到www.XXX.com,所以XXX.com不需要大流量,不用做CDN。如果加www检测不出来,可以试着去掉,或许就可以得到真实IP了。
邮件服务查询:因为邮箱大部分都是内部人在访问,而且访问的量也不是很大,一般是没有做CDN。
以steam为例,这可能就是真实的ip
邮件源代码或者邮件头查看到目标的真实IP。
主机扫描:nmap -sP/sn <目标 IP 范围>,用于发现网络中的活动主机
nmap -sP 208.64.200-203.0-255
IP查询在线工具:https://zh-hans.ipshu.com/
国外地址请求:因为很多的企业没有在国外部署CDN,要是用国外的地址请求,就容易找到他的真实地址。
https://tools.ipip.net/cdn.php
遗留文件,扫描全网:
黑暗引擎搜索特定文件:fofa、shodan、zoomeye、censys、谛听
这里的特定文件,指的是站点的icon文件,也就是网站的图标,一般查看网页源代码可以找到,格式大致“http://www.xx.com/favicon.ico”。在shodan搜索网站icon图标的语法为:http.favicon.hash:hash值,hash是一个未知的随机数,我们可以通过shodan语法来查看一个已经被shodan收录的网站的hash值,来进一步获取到所有带有某icon的网站。
#Python2 开发别搞错了执行环境
#安装 mmh3 失败记得先安装下这个Microsoft Visual C++ 14.0
import mmh3
import requests
response = requests.get('http://www.xx.com/favicon.ico')
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print 'http.favicon.hash:'+str(hash)
http.favicon.hash:hash值
#开发环境:python3
import base64
import requests
from bs4 import BeautifulSoup
import re
parturl1 ="https://www.fofa.so/result?qbase64="
parturl2 = (base64.b64encode(input("请输入favicon地址:").encode('utf-8'))).decode('utf-8')
result = (requests.get(parturl1+parturl2)).text
soup = BeautifulSoup(result,"html.parser")
scripts = soup.select("script")
index=str(scripts[3]).find('icon_hash=')
temp=str(scripts[3])[index:]
icon_hash = str(re.findall("\d+", temp))
print("shodan搜索语法为:http.favicon.hash:"+icon_hash[2:-2])
CDN真实IP地址获取后绑定指向地址:
修改hosts
文件
Win:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
1. 目录型站点
简单的理解就是主站上面存在其他的cms程序,则是一个网站,但区别在于目录下的差异
例如:在小皮上WWW目录下,他们仅仅是目录的路径不同
两个网站是两套程序,一个网站源码出现漏洞,另一个网站也会遭殃,就等于给与了两套漏洞方案
可通过目录 扫描工具可以查询到
2. 端口类站点
一个服务器(网址)的不同端口,一个网站出现安全问题,也会导致另一个网站出现安全问题。
这种情况只要搞定一个基本就可以渗透。
对于这类站点,进行端口扫描,或者在网上搜索信息。
3. 子域名站点
不同域名不同CMS
子域名和网站之间很有可能是不在同一台的服务器上面
例如goodlift.net是B2B搭建,bbs.goodlift.net是Discuz!搭建
4. 类似域名站点
有些公司由于业务的发展将原来的域名弃用,选择了其他的域名。但是我们访问他的旧的域名还是能够访问,有的是二级域名的更换而有的是顶级域名的更换。可以通过他的旧的域名找到一些突破口。
遇到一个网站,还可以 爆破相关域名后缀,比如.com、.cn、.edu.cn等
5. 旁注,c段站点
旁注(从旁注入):利用同一主机上面不同站点的漏洞,得到webshell,从而利用主机上的程序或者服务所暴露出用户所在的物理路径,进行入侵。同服务器不同站点。两个网站或者多个网站放在同一个服务器上,其中一个网站是目标。(此时就应该变到内网了)。 / c o l o r r e d s / /{color}{red}s/ /colorreds/
C段:同网段不同服务器不同站点,通过扫描发现与你渗透测试的是同一个网段最终拿下服务器,然后通过内网渗透的方式拿下目标服务器。
旁注查询在线工具:https://www.webscan.cc/
6. 搭建软件特征站点
第三方的集成搭建工具实现:宝塔、PHPstudy、WMAP、INMAP(Nginx)
在 http请求头的server 中有所体现
web应用防火墙可以防止Web应用免受各种常见攻击,比如SQL注入,跨站脚本漏洞(XSS)等。WAF也能够监测并过滤掉某些可能让应用遭受DOS(拒绝服务)攻击的流量。
分为:硬件形式和软件形式。
在安全公司单位购买的防火墙都是硬件,个人网站和小企业搭建都是软件。
常见的waf:https://www.cnblogs.com/charon1937/p/13799467.html
WAF的识别
wafw00f Github地址:https://github.com/EnableSecurity/wafw00f
安装环境:python3环境 —>使用 pip install wafw00f 进行安装