strust2_CVE-2024-53677漏洞复现

strust2_CVE-2024-53677漏洞复现

原创 argyros 夺旗赛小萌新 2025-01-18 17:07

CVE-2024-53677实际上是CVE-2023-50164漏洞的绕过

CVE-2023-50164简单的说就是get方法
会取得最后赋值的那个参数的值,再根据TreeMap的排序规则把要保留的值排序到最后就行了。

在TreeMap中,键(key)的排序是大小写敏感的。默认的排序规则如下:
1. 大写字母会排在小写字母之前

  1. 数字会排在字母之前

详情参考https://forum.butian.net/index.php/share/2628

比如这样就绕过了文件名的限制

CVE-2024-53677呢就是另一种绕过方式,在上面的参考文章中提到了
使用 OGNL 表达式调用 setter 方法对变量赋值,
CVE-2024-53677就是利用ongl表达式来绕过,

比如用top.uploadFileName来获取当前action对象的uploadFileName属性,再进行赋值