概念名词

域名

  1. 网站地址的名称
  2. 注册:在第三方平台注册,万网(被阿里云收购)

    二级域名,多级域名

  3. www是顶级域名,域名有几个点就算几个域名,一级域名只有一个点,往往由与品牌高度相关的主域名和后缀组成
  4. 二级域名,是一级域名的子域名,是企业根据不同的业务场景进行的拓展
  5. 一级域名和二级域名区别:二级域名依附于一级域名而存在吗,没有一级域名,就不存在二级域名,如果不作二级域名,一级域名则不会受到影响。
  6. 处罚连带不同,一级域名被处罚,二级域名也会被处罚;二级域名被处罚时,一级域名则不会受到影响。
  7. 以example.cn这个一级域名为例,我们在设置解析记录时,将主机记录值设置为“www”,然后指向IP为192.168.1.1,那么我们访问www.example.cn,就会跳转到192.168.1.1这个站点;如果我们将主机值设置为“mail”,然后将IP指向192.168.2.2,那么我们访问mail.example.cn就会跳转到192.168.2.2这个站点。

    域名分类

  8. 国家级和地区级顶级域名
  9. 一级域名
  10. 二级域名

域名发现对渗透测试的意义

  1. 不同的多级域名包含的信息不同,例如www.xxx.com 和jw.xxx.com的网页信息可能不同,可以多个尝试
  2. 多级域名是给与了多个可能性

DNS

  1. 域名系统服务协议
  2. 用于域名和IP地址的相互转换
  3. 网页搭建的时候是将IP解析到指定域名下

本地hosts和dns的关系

  1. ping的时候,先从本地hosts文件下找对应的域名对应的IP,并ping这个IP
  2. 如果没有,则到互联网的DNS服务器中找
  3. 目的:如果当绑定IP地址绑定到指定域名下时
  4. 在对方访问的时候,令对方访问到你指定的IP地址中去
  5. 如果能修改对方的hosts文件,修改一个对方需要访问的域名对应的IP,对方仍使用这个域名的时候就可以访问到自己写的网站,从而构成钓鱼链接

CDN

  1. 网络协议
  2. 内容分布网络,节点技术
  3. 在访问的时候,会自动匹配到速度较好的服务器,而这个服务器被叫做节点
  4. 在访问网站的真实数据的时候,访问的节点上的缓存,而不是网站的真实数据
  5. 扫描网站的时候,访问的是缓存,而不是真正的网站数据,是没有任何意义的

刷新dns缓存命令(windows)

  1. ipconfig /flushdns

DNS攻击

  1. dns劫持等
  2. 导致大量用户访问网站的时候被恶意解析访问到其它的IP
  3. 每个地区解析的地址不一样,对应的DNS服务器地址不一样,被黑对应的一部分服务器,对应的就是一部分地区的用户,所以LINUX老师在上课的时候说现在网络安全性很好,没有大范围的网络瘫痪

脚本语言

  1. 网站源码有多种脚本语言编写,常见php javaweb,asp aspx jsp pi py cgi

    不同脚本类型和安全漏洞的关系

  2. 如果语言严谨,注重发展比较多,发展时间长,安全性漏洞性高
  3. 所以开发用安全语言
  4. php用于小众网站,java用于大众网站

后门

  1. 攻击者通常会留一个后门文件,便于下一次获得权限,webshell
  2. 远控木马等的通称,是一个泛称

后门在安全测试中的意义

  1. 便于下一次方便地获取权限进系统
  2. 获取到相关权限,类似一个管道,操作这台服务区需要一个东西链接上去,这个东西就叫做后门

免杀

  1. 核心
  2. 网站大多数集合了一些防护杀毒,免杀就是隐藏,不被杀毒检测到,隐藏起来

web

组成架构模型

  1. 网站源码:脚本类型(java反序列化,php上传漏洞)、分应用方向(方向不同,函数不同,漏洞也就不同)
  2. 服务器操作系统:windows,linux(系统不同,命令不同,登录服务器的方式不同)
  3. 中间件(搭建平台):apache lis tomcat nginx (提供服务的,网站除了网站源码,还需要运行网站源码)
  4. 数据库:access mysql oracle db2 postsql(储存数据)

漏洞类型

web源码对应漏洞

  1. sql注入
  2. 文件上传
  3. xss
  4. 代码执行
  5. 变量覆盖
  6. 逻辑漏洞
  7. 反序列化

web中间件漏洞

web数据库对应漏洞

web系统层漏洞

第三方对应漏洞

实操

多级域名枚举查找

  1. 使用浏览器查找(爬):输入一级域名,自动查找匹配二级域名,例如:搜索baidu.com,会自动匹配www.baidu.com和vip.baidu.com等
  2. 子域名爆破(layer子域名挖掘机)的字典是前缀,所以爆破的时候需要删除二级域名,只保留已经确定的一级域名
  3. 注意:御剑跑的是后缀,而不是前缀

CDN绕过

主要用于信息搜集

初衷

  1. 提升网络速度
  2. cdn服务
  3. 但是cdn需要花钱,所以按需来,不是每一个网站都有cdn服务,开得越多,成本越大

cdn原理

  1. 从网上下载东文件,为了下一个访问者下载更快,上一个访问者下载之后,会在本地运营商的服务器中留缓存,下一个访问者下载时,会优先在这个服务器中的缓存中下载
  2. 分配缓存实际是分配节点,会就近分配一个节点给用户
  3. 和互联网的缓存原理相同,访问时会优先本地请求
  4. 但是缓存不是实时更新的
  5. 渗透测试时可能操作的是cdn缓存,而不是真正的目标

如何判定目标存在CDN服务

  1. 利用网站超级ping(多个地点ping服务)(利用海外和国内多个服务器对目标网站进行ping的操作,根据IP地址的回显来判断是否有cdn)
  2. https://ping.chinaz.com/
  3. 如果一个网站出现两个IP,就开启了cdn服务

常见CDN绕过技术

子域名查询

  1. 有可能子域名和主域名不在一个服务器上
  2. 一种可能是和主站放在一起(同一个IP地址)
  3. 还有一个可能是放在同一网段下,不同主机下(网络号相同,但是主机号不同)
  4. 或在不同网段

    原因

  5. 为了节约成本,站长可能会对访问量较大的网站做cdn服务
  6. 对那些小的子网站不做cdn服务

邮件服务查询

  1. 邮件服务器
  2. 对方把邮件发给你,如果有cdn服务时,自己访问邮箱地址的时候是就近安排节点
  3. 但是对方给你发邮件的时候,不会走cdn,随便找个cdn服务器发送

国外地址请求

遗留文件,扫描全网

  1. 遗留文件就是phpinfo

黑暗引擎搜索特定文件

  1. shodan 撒旦
  2. fofa
  3. zoomeye 钟馗之眼

    原理

  4. 另类的搜索引擎,利用这个黑暗引擎可以搜索到不常见的东西
  5. 这些搜索引擎会定期把网上一些深层次的东西爬到数据库中
  6. 这些数据库中的东西就是实时的(延时低)

dns历史记录,以量打量