蓝盟IT外包,7个常见的Java  APP应用安全陷阱和响应

发布者:上海IT外包来源:http://www.lanmon.net点击数:2502


Java  APP应用程序是黑客经常攻击的目标,但服务器端逻辑、客户端逻辑、数据存储、数据传输、API和其他组件太多,以确保所有组件的安全事实上,23%的. net  APP应用程序存在严重漏洞,44%的Java  APP应用程序存在严重漏洞。
虽然Java  APP应用程序的安全存在许多挑战,但本文列出了七个常见的安全陷阱。 如果企业安全团队意识到Java  APP应用程序存在漏洞,则从这些方面开始工作可能会更容易、更快地发现和解决问题。
XXE攻击
当网络攻击者使用可扩展标记语言(XML  )解析器读取服务器上的任意文件时,会发生此攻击。 然后,可以部署XML外部实体(XXE  )以获取用于获取用户信息、配置文件和云环境的证书。 大多数Java  XML解析器默认启用XXE要求,因此企业安全人员必须主动禁用XXE以避免XXE攻击。
不安全的反序列化
在序列化过程中,编程语言中的对象将转换为可以存储在数据库中或通过网络传输的格式。 在反序列化过程中,序列化对象是从文件或网络中读取的,因此可以将其还原为对象。 但是,黑客会寻找不安全的非序列化漏洞,以便可以对序列化对象进行操作,并发起攻击,如身份验证旁路、拒绝服务或任意代码执行。 为了防止这种情况发生,安全人员必须安装最新的修补程序,并确保第三方代码符合防御标准。 这是因为通过依赖关系引入了许多不安全的非序列化漏洞。
远程代码执行
黑客往往在受害者的机器上运行远程代码(RCE  ),往往是通过命令注入的漏洞实现的。 用户输入与系统命令直接相关。 由于APP应用程序无法区分用户输入和系统命令,因此它将用户输入作为代码执行,以便黑客可以在计算机上执行任何命令。 最有效的对策是制定有效的许可证列表。 这将建立一个稳健的输入验证机制。
SQL注入
粗略地说,如果APP应用程序无法正确区分不可信的用户数据和合法/有效的代码,就会发生注入。 在操作系统命令中,命令被注入。 以结构查询语言(SQL  )注入为例,攻击者注入数据以操作SQL命令。 如果APP应用程序无法正确验证用户输入,攻击者将在SQL语言中插入指定的字符以破坏查询逻辑并执行任何SQL代码。 受感染的查询结构允许您篡改、窃取数据,并在操作系统上执行任意命令。 因此,可以预编译SQL语句,以严格指定要插入语句并执行的参数(或变量/输入)。NoSQL注入
oSQL数据库不使用SQL语言。 在NoSQL注入过程中,黑客将数据注入数据库语言逻辑,并启用身份验证旁路和RCE。 MongoDB、CoucHBase、Cassandra、hbase和其他NoSQL数据库容易受到这种攻击。 NoSQL查询语法面向特定的数据库,查询经常用APP应用程序的编程语言编写。 因此,必须以特定数据库的方式阻止NoSQL注入。
LDAP注入
轻型目录访问协议(LDAP  )允许开发人员查询系统用户和设备的目录服务。 但是,如果APP应用程序在这些查询中允许不可信的输入,则黑客可以提交精心设计的输入,以绕过验证并篡改存储在目录中的数据。 无论是设置参数化查询还是在这里,都可以起到有效的预防效果。
日志注入
安全团队依赖系统日志检测网络中的恶意活动。 攻击者也意识到了这一点,在攻击中篡改日志文件以隐藏行踪。 典型的日志注入可以欺骗APP应用程序,并将虚假条目写入日志文件。 例如,攻击者可能会寻找不清理写入日志条目的换行符的APP应用程序,引入自己的换行符,然后插入新的APP应用程序日志条目。 或者,在日志条目中注入恶意HTML,对管理日志的管理员浏览器发起跨站点脚本(XSS  )攻击。
为了避免这种情况,企业安全人员现在必须向每个日志栏添加时间戳、进程ID、主机名和其他格式的元数据,以区分实际日志条目和虚假日志条目。 使用零信任策略时,日志文件的内容将被视为不受信任的输入,除非输入得到完全验证,否则不允许访问和操作。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部