不错的笔记:

https://websec.readthedocs.io/zh/latest/info/domain.html

https://www.yuque.com/glan/xiaodisec/lrg9ls

https://www.yuque.com/weiker/xiaodi/xydntt

https://www.yuque.com/samxara/swro13/oww4rk

1、基础入门

第一天:概念名词

通过超级ping的网站可以看到CDN的解析情况https://www.ping.cn/ping/cdivtc.com

本地Hosts与DNS的关系

文件地址c:\windows\system32\drivers\etc\hosts

在文件里面更改了ip地址,然后就优先访问这个文件里面的再去访问dns服务器

Hosts文件主要作用是定义IP地址和主机名的映射关系,是一个映射IP地址和主机名的规定。

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。

常见的DNs安全攻击有哪些?

  • DNS缓存中毒
    • DNS缓存中毒攻击者给DNS服务器注入非法网络域名地址,我们访问地址就可能指定到其他黑客的地址
  • 域名劫持(DNS重定向)
    • 通过攻击域名解析服务器(DNS)或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的域名劫持一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据
  • DNS查询嗅探
    • 攻击者主要利用对DNS的配置信息获取网络环境的信息,为之后的攻击做好的准备。
    • 针对这些情况,我们需要对DNS服务器需要采取特别的安全保护措施,在防火墙网络中,分开设置内部DNS服务器和外部DNS服务器,连接外部服务的外部DNS服务器上不留有对外禁止访问的内部网络系统的服务器,做到内外网络服务器分割。
  • ARP欺骗
    • ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP病毒,则感染该ARP病毒的系统将会试图通过”ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
    • ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向。如果IDC机房也被ARP病毒入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,以使访问导向错误指向的情况。
  • 本机劫持
    • 本机的计算机系统被木马或流氓软件感染后,也可能会出现部分域名的访问异常

常见的脚本语言

一种介乎于 HTML 和诸如 JAVA 、 Visual Basic 、 C++ 等编程语言之间的一种特殊的语言。
尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。
常见的脚本语言有:Python、JavaScript、Asp (逐渐淘汰,基本都是小站点在使用)、Aspx、Php (目前比较流行)javaweb、 pl、cgi等

后门

方便下次控制

web

web的组成框架模型?

WEB的组成框架模型:

  • 网站原码
  • 操作系统
  • 中间件(搭建平台,提供服务的)
  • 数据库。

image.png

web相关漏洞

web漏洞.png

涉及资源

  1. 任意安卓模拟器

  2. wsexplorer网络抓包工具:http://www.downcc.com/soft/11196.html

  3. Quasar后门程序生成:项目地址https://github.com/quasar/Quasar

    下载地址[https://github.com/quasar/QuasarRAT/releases](

  4. ApkAnalyser工具地址提取:项目地址:https://github.com/TheKingOfDuck/ApkAnalyser

第二天:数据包拓展

http/https数据包

1
2
3
#Request 请求数据包
#Proxy 代理服务器
#Response 返回数据包

image.png

  • HTTP协议是什么?

    HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。
    设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
    HTPP有多个版本,目前广泛使用的是HTTP/1.1版本。

  • HTTP原理

    HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML 文件,、图片文件, 查询结果等。

    HTTP协议一般用于B/S架构()。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

  • HTTP特点

    http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。

    简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。

    灵活:HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记。

    无连接:限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。

    无状态:无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

响应报文构成

状态行
响应头
响应正文

响应状态码

1
2
3
4
5
6
7
访问一个网页时,浏览器会向web服务器发出请求。此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。
状态码分类:
1XX- 信息型,服务器收到请求,需要请求者继续操作。
2XX- 成功型,请求成功收到,理解并处理。
3XX - 重定向,需要进一步的操作以完成请求。
4XX - 客户端错误,请求包含语法错误或无法完成请求。
5XX - 服务器错误,服务器在处理请求的过程中发生了错误。

常见状态码

1
2
3
4
5
6
7
8
200 OK - 客户端请求成功
301 - 资源(网页等)被永久转移到其它URL
302 - 临时跳转
400 Bad Request - 客户端请求有语法错误,不能被服务器所理解
401 Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
404 - 请求资源不存在,可能是输入了错误的URL
500 - 服务器内部发生了不可预期的错误
503 Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

第三天:搭建安全拓展

涉及的知识点

  • 常见搭建平台脚本启用

  • 域名旧目录解析安全问题

  • 常见文件后缀解析对应安全

  • 常见安全测试中的安全防护

  • WEB后门与用户及文件权限

常见的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ASP,PHP,ASPx,JSP,PY,JAVAWEB等环境

#WEB源码中敏感文件
后台路径,数据库配置文件,备份文件等

#ip或域名解析wEB源码目录对应下的存在的安全问题
域名访问,IP访问(结合类似备份文件目录)

#脚本后缀对应解析(其他格式可相同-上传安全)
#存在下载或为解析问题

#常见防护中的IP验证,域名验证等

#后门是否给予执行权限

#后门是否给予操作目录或文件权限#后门是否给予其他用户权限

#总结下关于可能会存在的安全或防护问题?

常见防护中的IP验证,域名验证等

用ip访问的权限比域名要高(比如有些目录只有ip才能访问出来:有些网站建设人员会疏忽,可以用ip去访问,有时会发现一些备份文件源码等),使用御剑或者手动访问的时候就最好用ip,别用域名.

后门是否给予执行权限

后门是否给予操作目录或文件权限

后门是否给予其他用户权限

总结下关于可能会存在的安全或防护问题?

中间件安全(搭建平台)

搭建平台比如phpstudy,宝塔等都是中件

Web中间件常见漏洞总结

漏洞CVE-2017-15715复现演示

环境用的Vulhub下载:git clone https://github.com/vulhub/vulhub.git

进入cd /vulhub/httpd/CVE-2017-15715

安装sudo docker-compose build

基于中间件的靶场使用https://vulhub.org/#/environments/

第四天:基础入门-WEB源码拓展

前言:

WEB源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安全测试提供了更多的思路

  1. 关于WEB源码目录结构
    1. 数据库配置文件,后台目录,模版目录,数据库目录等
  2. 关于WEB源码脚本类型
    1. ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题、
  3. 关于WEB源码应用分类
    1. 社交,论坛,门户,第三方,博客等不同的代码机制对应漏洞
  4. 关于WEB源码其他说明
    1. 开源,未开源问题,框架非框架问题,关于CMS识别问题及后续等
    2. 关于源码获取的相关途径:搜索,咸鱼淘宝,第三方源码站,各种行业对应

第五天:系统及数据库

### 识别操作系统常见方法

网站识别识别操作系统

linux的网站是对大小写敏感的

windows对大小写不敏感也就是说你在网页中可以替换网站路径的大小写进行测试

  • win系统的网站

image-20211222163611352

  • linux网站

image-20211222163706592

ttl值判断

1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:64

比如说我们ping一下