网站安全

攻击方式:javascript

 

参数操纵java

这里包括了SQL注入、XPath注入、cgi命令执行,还有XXS和会话劫持等。前三个的攻击主要是在服务端触发的,后两者的攻击则是侧重于客户端。数据库

SQL注入分析:提交含有SQL操做语句的信息给后端,后端若是没有作好过滤就执行该语句,攻击者天然能够随意操纵该站点的数据库。后端

XPath注入:跨域

cgi命令执行:安全

XSS:cross-site scripting跨域脚本攻击服务器

基于代码修改的防护
和SQL注入防护同样,XSS攻击也是利用了Web页面的编写疏忽,因此还有一种方法就是从Web应用开发的角度来避免:
步骤一、对全部用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其余的一概过滤。
步骤二、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。
步骤三、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤为是样式表和javascript),使用HTTP only的cookie。
 

对于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文档应当要求用户注册后才能获取;

相关文章
相关标签/搜索