网络安全主要的安全漏洞及防御

1.跨站脚本攻击(Cross Site Scripting),恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的。

exp:参数中带有<script>alert('121')</script>,这样到页面中就会执行。

防御:配置过滤器,检查所有的请求参数中有没有恶意的script代码,进行过滤。

 

2.session固定攻击(Session fixation),用户在登录前后使用的是一套session id,称为固定session,攻击者一旦获取了用户的session id,就能冒充用户访问网站。

exp:攻击者A给受害者B发送一份邮件,邮件中带有A预先设定的session id,B点击后正常登录,那么此session id就通过了验证,A能够以B的身份继续访问。

防御:配置context.xml,<context></context>标签中加上<Valve className="org.apache.catalina.authenticator.SSLAuthenticator"  changeSessionIdOnAuthentication="true"/> ,在身份验证时主动变更session id。也可以在登录方法中,重新生成session id。

 

 

3.跨站请求伪装攻击(Cross Site Request Forgrey),攻击者伪装成普通用户,以其身份发送请求。

exp:受害者B在访问银行网站的同时,也访问了A的危险网站,A在网站中通过图片img属性,隐藏汇款等操作,因为此时已经有B的cookie,只要B点击了图片,就在不知情的情况下汇款。

防御:在重要的请求参数中,添加伪验证码,请求方法中,验证此码是否正确,再进行业务提交。

 

4.跨框架脚本攻击(Cross Frame Scripting),攻击利用iframe嵌套有漏洞的页面,在主框架的代码中加入scirpt,监视、盗取用户输入。

exp:攻击者A嵌套银行网站登录页,受害者B在不知情的情况下,输入用户名密码,A就能通过script知道B输入的密码。

防御:页面中加上<meta http-equiv="X-Frame-Options" content=" ">,content有三个可选值,是SAMEORIGIN/DENY/ALLOW-FROM,含义分别是只允许同源域名页面嵌套,拒绝任何页面嵌套,指定页面地址嵌套。

 

5.html注入攻击(Html Injection),页面交互时,包括location跳转,可以被攻击者恶意使用,执行script代码。

exp:攻击者A通过篡改window.location.href中请求参数,加入script代码,受害者B请求后造成信息泄漏。

防御:尽量减少非必要的location方式页面跳转,若必须使用,location地址参数,通过procinstId = procinstId.replace(/&/g,'&amp;').replace(/"/i,'&quot;').replace(/</i,'&lt;').replace(/>/i,'&gt;').replace(/'/i,'&apos;')过滤掉非法字符。其次不要引用不使用的标签库,规范代码。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章