gopher协议
gopher协议发送POST请求包时,Content-type和Content-Length请求头必不可少,Get请求头没有
在向服务器发送请求时,浏览器会先进行一次URL解码,其次服务端收到请求后,再执行curl功能时,进行第二次编码,所以需要对构造的请求包进行二次URL解码
原理:
第一次url编码是 为了避免与get传入的键值对混淆
第二次url编码是 curl函数进行一次编码 正好解码构成标准的gopher数据包
IP 地址转换
IP地址以点分十进制表示的32位的二进制数,通常被分割为4个8位二进制数,
- IP地址转换为十六进制
十六进制全名为0x16进制,是以0x开始的数据,将ip地址转换为十六进制时候,要将点分十进制的每一类的数字分别转换为十六进制,最后整合的数据为一个0x开头的一串数字 - IP地址转换为八进制
跟IP地址转换为十六进制同理,但是八进制的开头一般为0o,&,$等 - IP地址转换为十进制
将IP地址还原为32位的二进制数,对其进行二进制到十进制的转换
@绕过的原理
@绕过时利用了·http基本身份验证绕过,http基本身份认证允许WEB浏览器或者其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式
DNS
DNS是Domain Name Service的缩写,计算机域名服务器,在internet上域名与IP地址是一一对应的,域名虽然便于人们记忆,但是机器之间只能互相认识IP地址,他们之间的转换工作成为域名解析,域名解析需要专门的域名解析服务器完成,这就是DNS域名服务器。DNS就类似于电话本,能储存域名和对应IP的对应关系
DNS重绑定
在网页浏览过程中,用户在地址栏中输入包含域名的网址。浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户。而对于域名所有者,他可以设置域名所对应的IP地址。当用户第一次访问,解析域名获取一个IP地址;然后,域名持有者修改对应的IP地址;用户再次请求该域名,就会获取一个新的IP地址。对于浏览器来说(同源策略),整个过程访问的都是同一域名,所以认为是安全的。这就造成了DNS Rebinding攻击。实际上就是绕过同源策略,从而进行攻击
同源策略
同源策略(Same origin policy) 是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
-
同源:
如果两个 URL 的 协议、域名、端口都相同的话,则这两个 URL是同源。 -
本质
在浏览器中,同一个域名下的网站只能调用本域名下的资源 -
直接表现
区分各个网站的cookie信息