前言
In this session we’ll talk about how the web works from a security perspective.
在这节课我们将讨论从安全角度触发web服务如何工作的问题。
What you’ll learn
- HTTP basics
- Cookie security
- HTML parsing
- MIME sniffing
- Encoding sniffing
- Same-Origin Policy
- CSRF (Cross-Site Request Forgery)
问题
1.http报文的结构是什么?(1分)
2.什么是crlf?在http报文的哪个位置。(1分)
回车换行,每行末位
3.解释下这几个头的含义(5分)
HOST:请求主机
Accept:表示客户端可接受哪种MIME类型,指定web服务是用json或者xml输出。
Cookie:给服务器传送cookie
Referer:来源页(HTTPS情况下不会传递)
Authorization:设置身份验证的凭证
4.cookie具有哪些特点,不同的域名和子域名对cookie有怎样的权限?Cookie的Secure和HTTPOnly这两个flag分别有什么作用?请结合xss攻击来进行说明(3分)
以键值对的形式临时存在。为域名设置的cookie,子域名也可读。子域名只可写自身的cookie。
Secure:限制只有通过https访问时才能传递cookie
httponly:阻止JavaScript读取cookie,可防xss攻击
5.简述本视频提到的xss绕过web防火墙的方案(5分)
用UTF-7/UTF-32编码payload
6.内容嗅探是什么?主要有哪些类型?请分别举例,主要用途是什么?在什么情况下可以利用这些漏洞?。为什么facebook等网站需要使用不同的域名来存储图片?(5分)
通过解析文件的内容,来猜测MIME类型的格式。有浏览器嗅探和客户端嗅探。客户端嗅探可用来判断浏览器为什么浏览器。
有些MIME类型是可执行类型,可以通过混淆MIME嗅探算法来执行XSS。
防止内容嗅探。
7.同源策略是什么?限制是什么?浏览器在遇到哪两种情况的时候会用到同源策略?如何放松SOP限制?放松SOP限制会对浏览器插件安全造成怎样的破坏?
协议域名端口三者相同。
通过XHR连接域名和跨独立的框架/窗口进行访问。
容易造成XSS,CSRF攻击。
8.csrf是什么?如何设计规避csrf?视频中提到的错误的csrf配置方法是什么?
跨站请求伪造。
验证token,验证HTTP请求的Referer,还有验证XHR里的自定义header。
没有对请求来源进行验证/过滤。
附加题:5、6两点主要利用的是由于服务端和客户端对同一信息的处理方式不同造成的漏洞,你还能举出相似的例子么?(1分)
SSTI