TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Pentest Notes

30 Jul, 14:16

Open in Telegram Share Report

Forward from: HaHacking
00:53
Video is unavailable for watching
Show in Telegram
Prev Next
👩‍💻 #web #offense #заметки #события

➡wp2shell — unauth RCE чейн, уязвимы WordPress'ы версий [включительно]:

▪️ 6.9.0 – 6.9.4 (2 декабря – 11 марта 2026)
▪️ 7.0.0 – 7.0.1 (20 мая – 9 июля 2026)
▪️ немного* 6.8.0 – 6.8.5 (*только SQLi)

   🔗 Чекер: wp2shell.com
   🔗 PoC: github.com/Icex0/wp2shell-poc
   🔗 PoC: github.com/0xsha/wp2shell
   🔗 PoC: github.com/dinosn/wp2shell-lab
   🔗 PoC: github.com/sergiointel/wp2shell-poc


⚡️ ШАГ 1: CVE-2026-63030

0️⃣ POST /wp-json/batch/v1 или POST /?rest_route=/batch/v1 — unauth метод, принимающий целый список подзапросов к API в виде JSON, прим.:
{
"requests": [
{
"path": "/wp/v2/posts"
},
{
"method": "POST",
"path": "/wp/v2/users/me"
}
]
}

1️⃣ Метод поверяет каждый запрос➡️параллельно собирает 2 массива с результатами: $matches + $validation;

Если какой-то запрос не прошёл проверку** wp_parse_url() — массивы $matches + $validation рассинхронизируются➡️один подзапрос может быть выпущен с хендлером другого подзапроса;

**Например, такой запрос: GET http://:

2️⃣ Далее рассинхрон поможет сметчить привилегированный хендлер (из $match) + с методом, для которого хочется обойти валидацию;


⚡ *ШАГ 2: CVE-2026-60137

0️⃣ GET /wp/v2/posts/ — метод, который после валидации передаёт свои параметры (author_exclude, orderby, per_page, ...) функции get_items();

1️⃣ author_exclude➡️мапится в WP_Query.author__not_in, который вставляется в SQL запрос;


⬆️ ИТОГ: можем вызвать GET /wp/v2/posts/999999?author_exclude= [в составе batch-запроса] в обход проверок!



➡Почитать ещё:

  ▪️ ‟wp2shell: Pre Authentication RCE in WordPress Core”
  ▪️ ‟Exploit brokers pay $500,000 for a WordPress RCE. I found one with GPT5.6 Sol Ultra and $25”
  ▪️ ‟wp2shell hits WordPress: detecting pre-auth RCE from plugin drop to command execution” 


   @HaHacking  🐇

1.5k 0 35 46
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot