在header中嵌入CRLF(回车换行)字符是一种常见的攻击手段。攻击者嵌入CRLF之后,使服务器对HTTP请求发生错误判断,从而执行攻击者的恶意代码。事实上,如今的servlet引擎如tomcat已经能够防护这种攻击。web
一般status message会被显示在HTML页面中。攻击者能够利用这一点在页面中嵌入恶意代码。将status message以HTML entity编码重写之后,就能够避免这个问题。浏览器
过大的cookie可能使WEB服务器拒绝响应请求。攻击者一样能够
利用这一点使用户没法正常访问网站。限制cookie的总大小能够部分地解决这种危机。tomcat
恶意web用户将代码植入到提供给其它用户使用的页面中。好比这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞因为被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。 服务器
攻击者经过各类方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。为了假冒用户的身份,CSRF攻击经常和XSS攻击配合起来作,但也能够经过其它手段,例如诱使用户点击一个包含攻击的连接。cookie
解决方案:网站
1,经过CSRF token,能够确保该请求确实是用户本人填写表单并提交的,而不是第三者伪造的,从而避免CSRF攻击。CSRF token验证器是用来确保表单中包含了CSRF token。
2,执行重要业务以前,要求用户提交额外的信息。要求用户在进行重要业务前输入口令,这能够防止黑客发动CSRF攻击(只要浏览器中没有包含口令),由于这种重要信息没法预测或轻易得到。
3,使用秘密的没法预测的验证符号。当保存在用户浏览器中的cookie仅由一次会话确认时,CSRF攻击才会有效。因此在每次HTTP请求(固然攻击者没法提早知道)中都有附加的特定会话的信息,这样就能够挫败CSRF攻击。不过,若是这种应用程序存在跨站脚本漏洞,黑客就有可能访问这种验证符号。
4,使用定制的HTTP报头。若是执行交易的全部请求都使用XMLHttpRequest并附加一个定制的HTTP报头,同时拒绝缺乏定制报头的任何请求,就能够用XMLHttpRequest API来防护CSRF攻击。因为浏览器一般仅准许站点将定制的HTTP报头发送给相同站点,从而了防止由CSRF攻击的源站点所发起的交易。
5,检查访问源的报头。在浏览者发送HTTP请求时,它一般会包含源自访问源报头的URL。理论上讲,你可使用这些信息来阻止源自其它任何站点(而不是来自Web应用程序自身)的请求。不过,访问源报头并不老是可用的,(例如,有些单位因为私密性的缘故而将它剥离了),或者这个报头容易被欺骗,因此说,这条措施并不真正有效。编码
就是经过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令token