700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 应用安全 - 代码审计 -Java

应用安全 - 代码审计 -Java

时间:2022-01-18 01:11:47

相关推荐

应用安全 - 代码审计 -Java

Java %c0%ae 安全模式绕过漏洞

原理

在Java端"%c0%ae"解析为"\uC0AE",最后转义为ASCCII低字符-"."。通过这个方法可以绕过目录保护读取包配置文件信息利用:

读取敏感文件被

修复:

下载Java的最新版本:/zh_CN/

反序列化漏洞

漏洞原因

开发失误

重写ObjectInputStream对象的resolveClass方法中的检测可被绕过。

使用第三方的类进行黑名单控制

当readObject方法书写不当时就会引发漏洞

基础库中隐藏的反序列化漏洞commons-fileupload 1.3.1commons-io 2.4commons-collections 3.1commons-logging 1.2commons-beanutils 1.9.2org.slf4j:slf4j-api 1.7.21com.mchange:mchange-commons-java 0.2.11mons:commons-collections 4.0com.mchange:c3p0 0.9.5.2org.beanshell:bsh 2.0b5org.codehaus.groovy:groovy 2.3.9org.springframework:spring-aop 4.1.4.RELEASEPOP Gadgets检测检测步骤 反序列化操作一般应用在导入模板文件、网络通信、数据传输、日志格式化存储、对象数据落磁盘、或DB存储等业务场景。因此审计过程中重点关注这些功能板块。 "① 通过检索源码中对反序列化函数的调用来静态寻找反序列化的输入点可以搜索以下函数:ObjectInputStream.readObjectObjectInputStream.readUnsharedXMLDecoder.readObjectYaml.loadXStream.fromXMLObjectMapper.readValueJSON.parseObject② 确定了反序列化输入点后,再考察应用的Class Path中是否包含Apache Commons Collections等危险库(ysoserial所支持的其他库亦可)。③ 若不包含危险库,则查看一些涉及命令、代码执行的代码区域,防止程序员代码不严谨,导致bug。④ 若包含危险库,则使用ysoserial进行攻击复现。防御禁用可被反序列化的类'mons.collections.functors.InvokerTransformer','mons.collections.functors.InstantiateTransformer','mons.collections4.functors.InvokerTransformer','mons.collections4.functors.InstantiateTransformer','org.codehaus.groovy.runtime.ConvertedClosure','org.codehaus.groovy.runtime.MethodClosure','org.springframework.beans.factory.ObjectFactory','xalan.internal.xsltc.trax.TemplatesImpl'通过Hook resolveClass来校验反序列化的类使用ValidatingObjectInputStream来校验反序列化的类使用contrast-rO0防御反序列化攻击使用ObjectInputFilter来校验反序列化的类禁止JVM执行外部命令Runtime.exec不建议使用的黑名单

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。