JAVA开发(web常见安全漏洞以及修复建议) 傷城~ 2024-03-29 14:37 58阅读 0赞 web安全常见漏洞 ![20ccca2995fc476c92c056ec03add986.png][] ![2f8e22a602764f1298b2d53f02f8d7b5.png][] **修复建议:** **SQL注入规避** 代码层最佳防御sql漏洞方案:使用预编译sql语句查询和绑定变量。 (1)使用预编译语句,使用PDO需要注意不要将变量直接拼接到PDO语句中。所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。 (2)对进入数据库的特殊字符(’”<>&\*;等)进行转义处理,或编码转换。 (3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。 (4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。 (5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。 (6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。 (7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。 (8)过滤危险字符,例如:采用正则表达式匹配union、sleep、and、select、load\_file等关键字,如果匹配到则终止运行。 **XSS漏洞修复** xss漏洞本质上是一种html注入,也就是将html代码注入到网页中。那么其防御的根本就是在将用户提交的代码显示到页面上时做好一系列的过滤与转义 (1)过滤输入的数据,对例如:“ ‘ ”,“ “ ”,” < “,” > “,” on\* “,script、iframe等危险字符进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。 (2)不仅验证数据的类型,还要验证其格式、长度、范围和内容。 (3)不仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。 (4)对输出到页面的数据进行相应的编码转换,如HTML实体编码、JS编码等。对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行检查。 **文件上传:** 1、对上传文件类型进行验证,除在前端验证外在后端依然要做验证,后端可以进行扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。 2、严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关上传文件目录的执行权限,防止木马执行。 3、对上传文件格式进行严格校验,防止上传恶意脚本文件; 4、严格限制上传的文件路径。 5、文件扩展名服务端白名单校验。 6、文件内容服务端校验。 7、上传文件重命名。 1. 隐藏上传文件路径。 **目录遍历** 对传入的文件名参数进行过滤,并且判断是否是允许获取的文件类型,过滤回溯符…/。 **弱口令:** 1、强制用户首次登录时修改默认口令,或是使用用户自定义初始密码的策略; 2、完善密码策略,信息安全最佳实践的密码策略为8位(包括)以上字符,包含数字、大小写字母、特殊字符中的至少3种。 1. 增加人机验证机制,限制ip访问次数。 **越权访问:** 1、对用户访问角色的权限进行严格的检查及限制。 1. 在一些操作时可以使用session对用户的身份进行判断和控制 **使用Docker出现的安全漏洞修复** #### 审核Docker文件和目录 #### 在/etc/audit/audit.rules与/etc/audit/rules.d/audit.rules文件中添加以下行: \-w/var/lib/docker -k docker \-w/etc/docker -k docker \-w/usr/lib/systemd/system/docker.service -k docker \-w /usr/lib/systemd/system/docker.socket-k docker \-w/usr/bin/docker-containerd -k docker \-w/usr/bin/docker-runc -k docker 然后,重新启动audit程序: service auditd restart #### 限制容器之间的网络流量 #### 在/usr/lib/systemd/system/docker.service文件中的\`ExecStart\`参数添加 \`--icc=false\`选项,然后重启docker服务: systemctldaemon-reload systemctlrestart docker #### 为Docker启用内容信任 #### 要在bash shell中启用内容信任,请输入以下命令:\`exportDOCKER\_CONTENT\_TRUST=1\` 或者,在您的配置文件中设置此环境变量,以便在每次登录时启用内容信任。 内容信任目前仅适用于公共Docker Hub的用户。 当前不适用于Docker Trusted Registry或私有注册表。 #### 限制容器的内存使用量 #### 仅使用所需的内存来运行容器。始终使用'--memory'参数运行容器。 您应该按以下方式启动容器: docker run--interactive --tty --memory 256m <Container Image Name or ID> [20ccca2995fc476c92c056ec03add986.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/28/575dc96bd4264c999cbf0e708a2fce18.png [2f8e22a602764f1298b2d53f02f8d7b5.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/28/92bdf735281649b98ca2d40da832b5da.png
相关 实战案例:Java Web应用中常见安全漏洞及修复 在Java Web应用中,常见的安全漏洞主要包括以下几个方面: 1. **SQL注入**:攻击者通过输入恶意的SQL代码,获取或修改数据库中的信息。 2. **XSS跨站脚 灰太狼/ 2024年09月11日 19:15/ 0 赞/ 14 阅读
相关 JAVA开发(web常见安全漏洞以及修复建议) web安全常见漏洞 ![20ccca2995fc476c92c056ec03add986.png][] ![2f8e22a602764f1298b2d53f02f8d7b5 傷城~/ 2024年03月29日 14:37/ 0 赞/ 59 阅读
相关 web开发常见安全漏洞 XXE(XML External Entity) 原理 XXE攻击是一种针对应用程序处理XML数据的安全漏洞。在这种攻击中,攻击者利用XML解析器处理外部实体的方式 矫情吗;*/ 2024年02月05日 13:32/ 0 赞/ 16 阅读
相关 Web安全前端常见问题以及修复方法 [Web安全前端常见问题以及处理方法][Web] 近期收到一些客户的安全问题,有很多前端的问题,被客户用工具扫描处理,下面是将这些问题整理出来一下: 目录 We 心已赠人/ 2022年11月26日 01:55/ 0 赞/ 764 阅读
相关 【WEB安全】常见WEB漏洞 > 欢迎关注公众号: > > ![70][] \----------------------------------------------正文---- 左手的ㄟ右手/ 2022年07月14日 07:58/ 0 赞/ 245 阅读
相关 WEB常见漏洞及修复参考 <table> <tbody> <tr> <td>漏洞类型</td> <td>造成原因</td> <td>修复方案</td> </tr> 浅浅的花香味﹌/ 2022年02月04日 15:59/ 0 赞/ 289 阅读
相关 常见Web安全漏洞 [常见Web安全漏洞][Web] 1.web安全常见攻击手段 xss sql注入 防盗链 csrf 上传漏洞 2. 信息加密与漏洞扫描 对称加密 冷不防/ 2022年01月28日 12:45/ 0 赞/ 311 阅读
还没有评论,来说两句吧...