攻击方式:javascript
参数操纵java
这里包括了SQL注入、XPath注入、cgi命令执行,还有XXS和会话劫持等。前三个的攻击主要是在服务端触发的,后两者的攻击则是侧重于客户端。数据库
SQL注入分析:提交含有SQL操做语句的信息给后端,后端若是没有作好过滤就执行该语句,攻击者天然能够随意操纵该站点的数据库。后端
XPath注入:跨域
cgi命令执行:安全
XSS:cross-site scripting跨域脚本攻击服务器
对于XSS的预防天然也是对提交数据的过滤,另外还有一点——谨慎返回用户提交的内容!cookie
会话劫持: 能够走SSH协议、加强网络安全系统健壮性,也可使用无序的UUID来替代通信中的序列号码(而非逐步递增)。网络
其余攻击:session
CSRF(cross-site request forgery):跨站请求伪造,与XSS很是类似,但XSS是利用用户对当前网站的信任来发起攻击,而CSRF是利用网站对用户的信任来发起攻击。
CSRF攻击,咱们所能作的能够有:
1. 检查报头中的Referer参数确保请求发自正确的网站(但XHR请求可调用setRequestHeader方法来修改Referer报头);
2. 对于任何重要的请求都须要从新验证用户的身份;
3. 建立一个惟一的令牌(Token),将其存在服务端的session中及客户端的cookie中,对任何请求,都检查两者是否一致。
拒绝服务(DoS)指的是向网站发起洪水同样的请求(Traffic Floor),致使服务器超负荷并关闭,处理方法常规是采用QoS(Quality of Service)的软硬件解决方案。
综上所述,咱们能够这样审视咱们的WEB站点:
1. 永远不要相信客户端传来的任何信息,对这些信息都应先进行编码或过滤处理;
2. 谨慎返回用户输入的信息;
3. 使用黑名单和白名单处理(即“不容许哪些敏感信息”或“只容许哪些信息”,白名单的效果更好但局限性高);
4. 检查、验证请求来源,对每个重要的操做都进行从新验证;
5. 使用SSL防止第三方监听通讯(但没法阻止XSS、CSRF、SQL注入攻击);
6. 不要将重要文件、备份文件存放在公众可访问到的地方;
7. 会话ID无序化;
8. 对用户上传的文件进行验证(不仅仅是格式验证,比方一张gif图片还应将其转为二进制并验证其每帧颜色值<无符号8位>和宽高值<无符号16位>);
9. WSDL文档应当要求用户注册后才能获取;