1、xss 攻击
攻击方式:通过链接注入
1)修改链接后面的参数 例如:http://a.test.com/index.html?a=<script>alert(1)</script>
2)富文本输入<script>alert(1)</script>
白名单或者过滤
3)评论等<script>alert(1)</script>
4)当图片用到链接参数时<img src="1" οnerrοr="alert(1)" />
5)javacript 端
var data="{data}"
var data= "hello";alert(1);"";
防御方式:
存或者取的时候进行转义
< 转义为 <
> 转义为 >
"转义为 &quto;
' 转义为 '
空格 转义为  (防御属性攻击,例如图片src从链接里面取的话,加个空格可以改变)
2、CSRF攻击
跨站点请求伪造
3、cookie
.什么是HttpOnly?
如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击
Secure属性是说如果一个cookie被设置了Secure=true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。换句话说,cookie是在https的情况下创建的,而且他的Secure=true,那么之后你一直用https访问其他的页面(比如登录之后点击其他子页面),cookie会被发送到服务器,你无需重新登录就可以跳转到其他页面。但是如果这是你把url改成http协议访问其他页面,你就需要重新登录了,因为这个cookie不能在http协议中发送
same-site详见https://blog.csdn.net/yanyang1116/article/details/56511009
4、点击劫持
一般以iframe为主,透明度设为0
服务器端防御点击劫持漏洞的思想是结合浏览器的安全机制进行防御,主要的防御方法介绍如下。
1) X-FRAME-OPTIONS 机制
在微软发布新一代的浏览器Internet Explorer 8.0中首次提出全新的安全机制:X-FRAME-OPTIONS。该机制有两个选项:DENY 和 SAMEORIGIN。DENY表示任何网页都不能使用 iframe 载入该网页,SAMEORIGIN表示符合同源策略的网页可以使用 iframe载入该网页。如果浏览器使用了这个安全机制,在网站发现可疑行为时,会提示用户正在浏览 网页存在安全隐患,并建议用户在新窗口中打开。这样攻击者就无法通过 iframe 隐藏目标的网页。
2) 使用 FrameBusting 代码
点击劫持攻击需要首先将目标网站载入到恶意网站中,使用 iframe 载入网页是最有效的方法。Web安全研究人员针对 iframe 特性提出 Frame Busting 代码,使用 JavaScript 脚本阻止恶意网站载入网页。如果检测到网页被非法网页载入,就执行自动跳转功能。Frame Busting代码是一种有效防御网站被攻击者恶意载入的方法,网站开发人员使用Frame Busting代码阻止页面被非法载入。需要指出的情况是,如果用户浏览器禁用JavaScript脚本,那么FrameBusting代码也无法正常运行。所以,该类代码只能提供部分保障功能。
<script>
if (top.location != window.location) {
top.location = window.location;
}
// 不太好使
</script>
3) 使用认证码认证用户
点击劫持漏洞通过伪造网站界面进行攻击,网站开发人员可以通过认证码识别用户,确定是用户发出的点击命令才执行相应操作。识别用户的方法中最有效的方法是认证码认证。例如,在网站上广泛存在的发帖认证码,要求用户输入图形中的字符,输入某些图形的特征等。
5、运营商劫持、中间服务器劫持、路由器劫持等
6、密码安全
7、接入层注入问题
8、上传问题
9、社会工程学和信息泄露
10、其他安全问题
重放攻击