当前位置: 首页 > 原创新闻 > web安全常见问题以及预防措施

web安全常见问题以及预防措施

发表于:2020-12-09 10:43 作者: mtr 阅读数(8970人)

一、XSS攻击

定义:它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。

预防措施:

1、对stylescriptimagesrca等不安全的因素进行过滤或转义

2CSP,只要开发者配置了正确的规则,那么即使网站存在漏洞,攻击者也不能执行它的攻击代码,并且CSP的兼容性也不错。

3、可以利用HTTP-only,将cookie设置成HTTP-only防止XSS攻击

二、CSRF攻击

定义:跨站请求伪造,是攻击者通过伪装成受信任的用户,盗用受信任用户的身份,用受信任用户的身份完成非法操作。

预防措施:

1Server端在收到请求之后,可以去检查HTTP头部Refer信息,只接受来自本域的请求而忽略外部域的请求

2、让用户手工输入验证码或者使用图片验证

3、使用框架机制,例如laravelcsrftoken机制

三、SQL注入攻击

定义:SQL注入攻击是通过WEB表单提交,在URL参数提交或Cookie参数提交,将怀有恶意的“字符串”,提交给后台数据库,最终达到欺骗服务器执行恶意的SQL命令。

预防措施:

1、给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害

2、对进入数据库的特殊字符('",,,&*;等)进行转义处理,或编码转换。

3、使用框架,目前主流框架都对SQL注入问题做了封装处理

四、文件上传漏洞

定义:文件上传漏洞是攻击者上传了一个可执行的文件到服务器上执行,可执行文件包括有病毒、木马、恶意脚本等。

预防措施:

1、文件扩展名检测,要采取“允许jpg,gif…”这样的检查,而不要采取“不允许asp…”这样的检查

2、编码者需要对上传页面代码严格把关,特别是在保存文件的时候,考察可能出现的异常字符,如../..\,空字符等。

3、文件重命名

4、文件目录设置不可执行权限

5、设置单独域名的文件服务器

五、点击劫持

定义:用户在登陆A网站的系统后,被攻击者诱惑打开第三方网站,而第三方网站通过iframe引入了A网站的页面内容,用户在第三方网站中点击某个按钮(被装饰的按钮),实际上是点击了A网站的按钮。

预防措施:

1、通过JS的方式来防御点击劫持,FrameBusting:这种方式是通过写JavaScript来禁止iframe嵌套,但是可以轻易饶过。

2X-FRAME-OPTIONS是一个HTTP响应头,在现代浏览器有一个很好的支持。这个HTTP响应头就是为了防御用iframe嵌套的点击劫持攻击。