0x01
现今WEB安全主要面临的几个问题:
- sql 注入
- xss 跨站脚本
- csrf 跨站域请求伪造
0x02
那么如何设计一个安全的站点呢?
我们先看看原理:
输入类:sql 注入 和 xss 跨站脚本,一个可能造成非法的数据库请求,一个可能造成非法的js引用,防范方法,我们只需要在用户输入时对其输入的内容在前后台进行校验或转意或使用参数化sql等手段
假如你恰好登录了0x1024
,那么很有可能你的钱就莫名其妙少了1000块了。
CSRF可以说是浏览器的一个特(que)性(xian), 那么Session这玩意那么容易被csrf,那么怎么防嘛,目前防御的方法有几种
- 验证来源 Http请求中的Referer
- Token
- 隐藏表单 <input type=”hidden” name=”csrftoken” value=”tokenvalue”/>
- 隐藏头部 <meta name="csrf-token" content="pa5chCM1n1" />
在理想的情况下,客户端和服务端时间永远一致,那么可以考虑使用Google两部验证的思路来替代token
但是这篇文章中少了个同源请求的问题,假如被人使用iframe
把整个页面嵌入了呢?这种就是所谓的clickjacking
,其实浏览器早就有这类的声明了。只需要在响应头里加入X-Frame-Options:SAMEORIGIN
即可防范,下面是x-frame-options的说明
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
想必大黑阔们对我这些招都已经是过眼云烟了。。。。