网站建设中的漏洞及预防方法

这是2017年3月份全球被攻击站点分布图,从图表上看中国被攻击的站点占据了大部分。那么做为一个企业或者开发公司,如何防止自己的站点被攻击。

案例详情

      这是2017年3月份全球被攻击站点分布图,从图表上看中国被攻击的站点占据了大部分。那么做为一个企业或者开发公司,如何防止自己的站点被攻击。
      应该这样讲,从网站建设之初,就应该做好这些安全措施,如果你的网站做到如下几点,相对是比较安全的。就像标题所说,网站中常见的21个漏洞及预防方法。
      1、越权
问题描述:不同权限账户之间存在越权访问。
修改建议:加强用户权限的验证。
注意:
往往通过不同权限用户之间链接访问、cookie、修改id等
2、明文传输
问题描述:对系统用户口令保护不足,攻击者可以利用攻击工具,从网络上窃取合法的用户口令数据。
修改建议:传输的密码必须加密。
注意:所有密码要加密。要复杂加密。不要用base64或md5。
3、sql注入
问题描述:攻击者利用sql注入漏洞,可以获取数据库中的多种信息,如:管理后台的密码,从而脱取数据库中的内容(脱库)。
修改建议:对输入参数进行过滤、校验。采用黑白名单方式。
注意:过滤、校验要覆盖系统内所有的参数。
4、跨站脚本攻击
问题述:对输入信息没有进行校验,攻击者可以通过巧妙的方法注入恶意指令代码到网页。这种代码通常是JavaScript,但实际上,也可以包括Java、VBScript、ActiveX、Flash 或者普通的HTML。攻击成功之后,攻击者可以拿到更高的权限。
修改建议:对用户输入进行过滤、校验。输出进行HTML实体编码。
注意:过滤、校验、HTML实体编码。要覆盖所有参数。
5、文件上传漏洞
问题描述:没有对文件上传限制, 可能会被上传可执行文件,或脚本文件。进一步导致服务器沦陷。
修改建议:严格验证上传文件,防止上传asp、aspx、asa、php、jsp等危险脚本。同事最好加入文件头验证,防止用户上传非法文件。
6、后台地址泄露
问题描述:后台地址过于简单,为攻击者攻击后台提供了便利。
修改建议:修改后台地址链接,复杂点。
7、敏感信息泄露
问题描述:系统暴露内部信息,如:网站的绝对路径、网页源代码、SQL语句、中间件版本、程序异常等信息。
修改建议:对用户输入的异常字符过滤。屏蔽一些错误回显,如自定义404、403、500等。
8、命令执行漏洞
问题描述:脚本程序调用如php 的 system、exec、shell_exec等。
修改建议:打补丁,对系统内需要执行的命令要严格限制。
9、目录遍历漏洞
问题描述:暴露目录信息,如开发语言、站点结构
修改建议:修改相关配置。
10、会话重放攻击
问题描述:重复提交数据包。
修改建议:添加token验证。时间戳或这图片验证码。
11、CSRF(跨站请求伪造)
问题描述:使用已经登陆用户,在不知情的情况下执行某种动作的攻击。
修改建议:添加token验证。时间戳或这图片验证码。
12、任意文件包含、任意文件下载
问题描述:任意文件包含,系统对传入的文件名没有合理的校验,从而操作了预想之外的文件。任意文件下载,系统提供了下载功能,却未对下载文件名进行限制。
修改建议:对用户提交的文件名限制。防止恶意的文件读取、下载 
13、设计缺陷/逻辑错误
问题描述:程序通过逻辑实现丰富的功能。很多情况,逻辑功能存在缺陷。比如,程序员的安全意识、考虑的不周全等。
修改建议:加强程序的设计和逻辑判断。 
14、XML实体注入
问题描述:当允许引用外部实体是,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口等等。
修改建议:使用开发语言提供的禁用外部实体方法,过滤用户提交的XML数据。
15、检测存在风险的无关服务和端口
问题描述:检测存在风险的无关服务和端口,为攻击者提供便利。
修改建议:关闭无用的服务和端口,前期只开80和数据库端口,使用的时候开放20或者21端口。
16、登陆功能验证码漏洞
问题描述:不断恶意重复一个有效的数据包,重复发给服务端。服务端未对用户提交的数据包进行有效的限制。
修改建议:验证码在服务器后端刷新,数据包提交一次数据数刷新一次。
17、不安全的cookies
问题描述:cookies中包含用户名或密码等敏感信息。
修改建议:去掉cookies中的用户名,密码。
18、SSL3.0
问题描述:SSL是为网络通信提供安全及数据完整性的一种安全协议。SSl会爆一些漏洞。如:心脏滴血漏洞等。
修改建议:升级OpenSSL版本
19、SSRF漏洞
问题描述:服务端请求伪造。
修改建议:打补丁,或者卸载无用的包
20、默认口令、弱口令
问题描述:因为默认口令、弱口令很容易让人猜到。
修改建议:加强口令强度不适用弱口令
注意:口令不要出现常见的单词。如:root123456、admin1234、qwer1234、p@ssw0rd 等。