Web安全读书笔记 -拦截代理服务器

递归检查漏洞
<scr<script>ipt>
过滤器没有递归运行 就会有漏洞

过滤顺序漏洞

<scr””ipt>
如果先过滤器先递归删除脚本标签 再删除引号就会有漏洞

https 使用代理服务器时候,必须使用TCP级中继

Base64编码

Base64编码的作用:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。它使用下面表中所使用的字符与编码。

而且base64特别适合在http,mime协议下快速传输数据。
base64就是把二进制数据转换成可打印字符串,  

HTML 特殊字符编码,为了不与html元字符混淆
< &lt  >&gt

攻击中之所以要用到unicode编码,主要用来破坏输入确认机制,如果输入过滤阻止了某些恶意表达式,但随后处理输入的组件识别unicode编码,就可以用标准或者畸形的unicode编码避开过滤。


向代理服务器请求时,对于HTTPS,浏览器首先用connect方法向代理服务器提出一个明文请求,指定目标服务器的主机名称和端口,如果使用普通(非拦截)代理服务器,代理服务器就会以一个HTTP200状态码作出响应,一直开放TCP连接,从此以后(对该连接而言)作为目标服务器的TCP级中继。然后,浏览器将于目标服务器进行一次SSL握手,建立一条安全信道,通过它传输http消息。
当使用拦截代理服务器的时候,为了使代理服务器访问浏览器通过信道传送的http消息,这个过程会有所不同。用一个HTTP200响应CONNECT请求后,拦截代理服务器并不作为一个中继,而是在服务器端与浏览器进行SSL握手,它还作为一个SSL客户,与目标web服务器进行另一次握手,因此在这个过程建立了两条SSL信道,代理服务器就能充当中间人,访问他们浏览器与web目标服务器之间传送的数据了。
这种中间人攻击,导致SSL失效。为此,当进行SSL握手时,就必须使用加密证书来验证每一方的身份。这样,代理服务器必须使用自己的SSL证书,因为他不知道目标服务器使用的私钥。浏览器就会提醒用户这是伪造的证书,并让用户自行决定是否信任该证书。当然,使用拦截服务器的时候,可以接受这种伪造的证书,来监控浏览器与目标服务器之间的数据。

你可能感兴趣的:(html,Web,浏览器,脚本,读书)