WEB安全问题我没太多经验,但是这块内容还是很重要,所以必须要了解学习一下。
简单总结了一下,分成以下5类,
1.DDOS,瘫痪式攻击,解决方法是记录异常请求的ip地址,主动拒绝或者将攻击ip添加到防火墙黑名单里。
2.系统漏洞攻击,比如前一段时间的Struts漏洞,或者Windows系统漏洞,这个是系统层面的,只有靠及时打补丁。
3.SQL注入,这个很常见,一般通过避免SQL拼接,对输入进行严格校验,检查程序注入点等方式来解决。
4.XSS,恶意代码注入,比如BBS,其他用户在查看被注入的文章时会受到影响,比如收集用户cookie信息等。
5.CSRF,跨站请求伪造,危险程度更高,比如我登录了WebQQ,又登录一个恶意网站,该恶意网站可以伪造WEBQQ协议,请求添加好友,甚至删除好友
XSS的方式很多,script标签是最常规的,很容易过滤,img的onload事件,在a href里面写javascript:alert(),还有更防不胜防的unicode转码
$('div:first').html('u003cu0073u0063u0072u0069u0070u0074u003eu0061u006cu0065u0072u0074u0028u0022u0078u0073u0073u0022u0029u003cu002fu0073u0063u0072u0069u0070u0074u003e');
XSS的除了上面的几种见招拆招外,我再想想有没有别的思路。unicode转码部分我试了一下,确实生成了script标签但是没有弹出alert,不知道是不是浏览器对此作了处理。
再说CSRF,这个危害程度太大了,我首先想到的通过http referer来判断请求来源,除此之外就是想办法拒绝构造的请求,比如用户激活输入框申请一个提交令牌,判断用户输入间隔和输入内容长度是否合理。