linux-BR.org

Notícias de software livre e tecnologias

Ele busca o formulário de upload do plugin, extrai o nonce e envia um ZIP fornecido pelo invasor:
O WordPress valida o nonce (correto), verifica a capacidade (administrador, correto) e extrai o ZIP para wp-content/plugins/. O objeto de erro viaja de volta através de wp_signon() para wp-login.php, que o passa para login_header(), que o passa através de wp_admin_notice(), que chama wp_kses_post(). Ele lê $(‘input#user_id’).val() e $(‘input[name=”checkuser_id”]’).val(). Variante de envelope (ignora REST 401): altere href para /?rest_route=/&_method=GET&_envelope=1&_jsonp=alert
Variante dinâmica do WAF (ignora regras de borda que bloqueiam ?rest_route=): altere href para /wp-json/wp/v2/statuses/publish?_jsonp=alert&_method=GET
Todas as versões do WordPress em manutenção ativa antes de 7.0.3. Quando um usuário envia um nome de usuário e senha usando wp-login.php, o WordPress chama wp_signon(), que chama wp_authenticate().

Fonte: https://pwn.ai/blog/xss2shell