1域名是地址的名称
2域名需要在第三方平台注册
域名注册商:阿里云、万网等
3一级域名:baidu.com
二级域名:news.baidu.com
三/多级域名:shehui.news.baidu.com
4域名与安全测试:如果一级域名不能突破,可以从其他域名下手
(多级域名的收集意义就是一个网站找不到漏洞是,可以找跟他它服务器相同的另一个多级域名上的漏洞,做旁路攻击。)
1域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以及控制因特网的电子邮件的发送。
2本地HOSTS
如果一个网站的地址为:
1.1.1.1baidu.com
在本地hosts文件添加:
2.2.2.2baidu.com
这是在浏览器中访问baidu.com地址时,实际访问的是2.2.2.2的地址。
本地HOSTS与DNS的关系:都是域名解析的,区别就是一个在其他服务器,一个在自己主机,在自己主机的话优先级更高(先去看自己的hosts中有没有目标IP地址,没有才回去DNS服务器中寻找)(全球有13个根服务器)
3CDN全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
4常见的DNS安全攻击有:
DNS劫持
缓存投毒
DDoS攻击
反射式DNS放大攻击
1常见的脚本语言类型:
asp php aspx jsp javaweb pl py cgi等
2不同脚本类型决定了安全漏洞不同的解决方法与难度
3漏洞挖掘代码审计与脚本类型的关系?
规矩多,安全性能高、难度大
1后门是黑客入侵成功后,黑客留下的文件或什么方便下次更加方便的进入。
后门有各种形式。
后门可能是寄于网站、服务器、文件等各种地方。
2后门在安全测试中的实际意义?
1)方便下次攻击
2)提供攻击通道
3关于后门需要了解哪些?(玩法、免杀)
玩法(目的更好的隐藏自己、或者直接控制网站)
免杀(检测到后门、防止相关东西检测到后门)
1WEB的组成架构模型?
网站源码:分脚本类型(不同功能的实现需要不同的语言)、分应用方向(方向不同所使用的函数不同)
操作系统:Windows linus(不同系统上的漏洞在不同系统上是不支持的)
中间件(搭建平台):apache iis tomcat nginx等(相当于载体)
数据库:access myaql oracle sybase db2 postsql等(存储了大量与网站相关的数据以及管理员数据)
2构架漏洞安全测试简要介绍?
使用广泛、web可用于提取权限、web是所有的基础(漏洞不一定有害)
3为什么要从WEB层为主为首?
因为主要从WEB入手
操作系统漏洞要么比较小,要么特别少,难度特别大。
1WEB源码对应漏洞
SQL注入,上传,xss,代码执行,变量覆盖,逻辑漏洞,发序列化等
2WEB中间件对应漏洞
3WEB数据库对应漏洞
4WEB系统层对应漏洞
5其它第三方对应漏洞
第三方软件如QQ等
6APP或PC应用结合类
PC(电脑客户端)
APP(移动端)
1多级域名的枚举查找(查找,方式)
搜索youku.com的多个域名,可以直接在百度上搜索
使用工具进行爆破。比如layer子域名挖掘机。
根据网站爬行出来
通过第三方的网站进行查询
查询域名的A记录,MX记录,CNAME记录,NS记录等等。
2DNS解析修改后分析(本地或者服务)
3EXE后门功能及危害分类,类似WEB后门(上传木马EXE,监听上线主机)
4APP类结合WEB协议,PC类结合WEB协议
#Request 请求数据包
#Response 返回数据包
#Request 请求数据包
#Proxy 代理服务器
#Response 返回数据包
注意:可以通过代理串改两边输入输出数据
http | https |
---|---|
HTTP | HTTP |
TCP | SSL or TLS |
IP | TCP |
IP |
http:抓到的数据是明文
https抓到的是加密后的
建立连接->发送请求数据包->返回响应数据包->关闭连接
1浏览器建立与WEB服务器之间的连接
2浏览器请求数据打包(生成请求数据包)并发送到WEB服务器
3WEB服务器将处理结果打包(生成响应数据包)并发送给浏览器
4WEB服务器关闭连接
1#Request请求数据包数据格式
1)请求行:请求类型/请求资源路径、协议的版本和类型
2)请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
3)空行:请求头与请求体之间用一个空行隔开
4)请求体:要发送的数据(一般post提交会使用);例user=123&pass=123
1请求行由三个标记组成:请求方法、请求URL和HTTP版本,它们用空格分享。
例如:GET/index.html HTTP/1.1
2HTTP规划定义了8种可能的请求方法:
GET:检索URL中标识资源的一个简单请求
HEAD:与GET方法相同,服务器只返回状态行和头标,并不返回请求文档
POST:服务器接受被写入客户端输出流中的数据的请求
PUT:服务器保存请求数据作为指定URL新内容的请求
DELETE:服务器删除URL中命令的资源的请求
OPTLONS:关于服务器支持的请求方法信息的请求
TRACE:web服务器反馈Http请求和其头标的请求
CONNECT:已文档化,但当前为实现的一个方法,预留做隧道处理
由关键字/值组成,每行一对,关键字和值用冒号分隔。请求头标通知服务器 于客户端的功能和标识。
HOST:主机或域名的地址
Accept:指浏览器或其他客户可以接受的MIME文件格式,Servlet可以根据它判断并返回适当的文件格式
User-Agent:客户浏览器的名称
Host: 对应网址URL中的WEB名称和端口号
Accept-Language:指出浏览器可以接受的语言种类。如en或en-us。指英语
Connection:用来告诉服务器是否可以维持固定的HTTP连接。HTTP是无连接的,HTTP/1.1使用Keep-Alive为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接。
Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。
Referer:表明产生请求的网页URL。如比从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,在向服务器发送的GET/icwork/search中的请求中,Refererhttp://lacilhost:8080/iconcept/index.jsp。这个属性可以用来跟踪Web请求是从什么网站来的。
Connect-Type: 用来表明request的内容类型。可以用HttpServletRequest的getConentType()方法取得。
Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1.
Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到Web响应之后先解码,然后再检查文件格式
最后一个请求头标之后是空行,发送回车符和腿行,通知服务器以下不再有头标。
使用POST传递,最常使用的是 Content-Type 和 Content-Length头标。
Response返回数据包数据格式
一个响应由四个部分组成;状态行、响应头标、空行、响应数据
1状态行:协议版本、数字形式的状态代码和状态描述,各元素之间以空格分隔
2响应头标:包含服务器类型、日期、长度、内容类型等
3空行:响应头与响应体之间用空行隔开
4响应数据:浏览器会将实体内容中的数据取出来,生成相应的页面
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功的接收、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误
5xx:服务器错误
200:存在文件
403:存在文件夹
3xx:均可能存在
404:不存在文件及文件夹
500:均可能存在
1Burpsuite抓包修改测试
2敏感文件扫描工具简要实现
3第三方检测修改文件实现XSS攻击
4数据包相关检验对比(APP直接访问)
5CTF或实际应用中部分考题解析(mozhe)
1常见搭建平台脚本启用
2域名IP目录解析安全问题
3常见文件后缀解析对应安全
4常见安全测试中的安全防护
5WEB后门与用户及文件权限