网站建设中常见的20个安全漏洞及预防方法

2024-01-16 16:06:21 浏览数 (1)

从网站建设之初,就应该做好这些安全措施,如果你的网站做到如下几点,相对是比较安全的。

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、默认口令、弱口令

问题描述:因为默认口令、弱口令很容易让人猜到

修改建议:加强口令强度不适用弱口令

注意:口令不要出现常见的单词。

0 人点赞