Archive for the ‘vuln.’ Category

PHP-Fusion 7.00.1 (messages.php) Remote SQL Injection Exploit

Opublikowane dzisiaj na milw0rm. Działa przy wyłączonych magic_quotes.

Skype extension for Firefox BETA 2.2.0.95 Clipboard Writing Vulnerability

Znalazłem błąd w dodatku skype’owym do Firefoxa. Pozwala on na zapisanie własnej wartości do schowka systemowego. Co ciekawe, dodatek jest domyślnie instalowany wraz z programem Skype, zatem można się spodziewać dużej ilości zagrożonych komputerów. Oczywiście powodzenie ataku zależy od pewnej interakcji z użytkownikiem, więc luka nie jest krytyczna.

Luka jest podobna do niedawno odkrytego problemu związanego z dostępem do schowka systemowego poprzez Adobe Flasha i ActionScript. W tym wypadku napastnik również może manipulować zawartością schowka.

Tutaj możesz przetestować błąd.

SQL Column Truncation Vulnerability po polsku

Kiedy dostałem linka od mojego znajomego do notki Stefana Essera na temat ciekawych podatności MySQL, od razu zacząłem testować popularne skrypty pod kątem tego typu błędów. Oczywiście rozpocząłem od WordPress ;] Niestety, najprawdopodobniej nie byłem pierwszy, bo (co w sumie logiczne) Stefan dużo wcześniej przetestował ten skrypt i poinformował o usterce programistów WordPress.

W każdym razie, poniżej postarałem się ująć w kilku przykładach istotę tej klasy podatności.

mysql> CREATE TABLE test (login varchar (20) );
Query OK, 0 rows affected (0.39 sec)

mysql> INSERT INTO test VALUES ( 'admin' );
Query OK, 1 row affected (0.36 sec)

mysql> select * from test;
+-------+
| login |
+-------+
| admin |
+-------+
1 row in set (0.01 sec)

próba wstawienia 21-znakowego ciągu do pola 20 znakowego
powoduje obcięcie i wyrzucenie nadmiaru znaków (czyli
w tym wypadku wyrzucenie znaku 'x')

mysql> INSERT INTO test VALUES ( 'admin               x' );
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from test;
+----------------------+
| login                |
+----------------------+
| admin                |
| admin                |
+----------------------+
2 rows in set (0.00 sec)

mysql> select hex(login) from test;
+------------------------------------------+
| hex(login)                               |
+------------------------------------------+
| 61646D696E                               |
| 61646D696E202020202020202020202020202020 |
+------------------------------------------+
2 rows in set (0.03 sec)

mysql> select * from test where login='admin';
+----------------------+
| login                |
+----------------------+
| admin                |
| admin                |
+----------------------+
2 rows in set (0.02 sec)

mysql> select * from test where login='admin                ';
+----------------------+
| login                |
+----------------------+
| admin                |
| admin                |
+----------------------+
2 rows in set (0.00 sec)

Poza tym MySQL w standardowej konfiguracji ma ustawioną opcje max_packet_size na jeden megabajt. Jest to maksymalny rozmiar pakietu możliwego do przesłania pomiędzy serwerem SQL a klientem. Zatem gdy zapytanie przekroczy tą wartość, nie zostanie w ogóle wykonane. Najczęściej spowoduje to błąd w aplikacji webowej która wykona takie query.

Poprzez odpowiednią manipulację rozmiarem danych, można doprowadzić do sytuacji w której część zapytań nie wykona się, właśnie z powodu przekroczonego rozmiaru zapytania, a część z zapytań wykona się normalnie. W konsekwencji aplikacja może np. przestać działać poprawnie, utworzyć błędy bypass, w ogóle przestać działać itp.

szukanie błędów

niewątpliwie ciekawe zajęcie, choć czasami frustrujące. najbardziej nie lubie znajdywać błędów przez które właściwie mało co można zdziałać np. takie full path disclosure. rzadko kiedy informacje zdobyte tą drogą prowadzą do krytycznych nadużyć. Wpis inspirowany znalezionym błędem full path disclosure w najnowszej Joomli. Screen na dowód żeby nie było że pisze bajki (sory za mało przyjazną cenzure, miałem pod ręką tylko painta ;p)

WordPress 2.6.1 SQL Column Truncation Vulnerability

Opublikowane na milw0rm. Na dniach postaram się napisać coś więcej apropo tej klasy podatności. Jeżeli chcesz wiedzieć więcej teraz, przeczytaj notke (po angielsku) na blogu Stefana Esser’a.

dno

W ostatnim czasie zapanował na milw0rm straszny natłok publikacji. Nic dziwnego, w końcu skończyła się szkoła, ludzie mają więcej czasu na jakieś swoje audyty. Ale niestety ilość publikacji nie idzie w parze z ich jakością. I tak: mamy mnóstwo publikacji błędów w stylu „nieznany-i-nieuzywany CMS Multiple Vulnerabilities” w nieużytecznych skryptach używanych najczęściej na kilku stronach w jakimś Maroku czy Republice Konga. Jest naprawdę mało osób które starają się trochę potrudzić i nie szukać błędów w byle czym.

Może też powinienem zacząć publikować dziennie po 10-12 podatności?

Mambo <= 4.6.4 Remote File Inclusion Vulnerability

Programiści Mambo nie przejrzeli dokładnie kodu swojego skryptu, zostawili możliwość zdalnego dołączenia swojego skryptu. Exploit działa gdy register_globals == ON. Tutaj znajduje się link do mojej publikacji na milw0rm.

CMSimple 3.1 Local File Inclusion / Arbitrary File Upload

„Powered by CMSimple”, sprawdzcie w wyszukiwarce search.yahoo.com . Podatnych stron jest naprawdę dużo :/ Nie ma się co później dziwić że w internecie na każdym kroku można złapać jakiegoś robaka. Exploit opublikowany na milw0rm.com

phpBP <= RC3 (2.204) FIX4 Remote SQL Injection Vulnerability

Znalazłem podatność w phpbp w najnowszej wersji, ze wszystkimi fixami, błąd banalny, zwykłe przeoczenie programisty zamiast $_GET[‚id’] filtrował $_POST[‚id’].. Ogólnie kod skryptu ciekawy, choć jakbym dłużej nad nim posiedział to zapewne znalazł bym jeszcze kilka błędów. Brawo dla supportu phpbp (szczególnie dla Leszka Piątka) za szybkie wydanie odpowiedniego patcha 😉 Link do podatności na milw0rmie

fuzzylime cms <= 3.01 Remote File Inclusion Vulnerability

Sprawdziłem fuzzylime cms pod względem błędów i opublikowałem najważniejszy, który dostrzegłem. Błąd znajduje się w pliku /code/display.php. Wywołany z innego kontekstu, powoduje ze można dołączyć zdalnie plik. Poza tą podatnością znalazłem jeszcze kilka LFI, których na razie nie publikuje.

„powered by jPORTAL 2 & UserPatch” || „powered by jPORTAL 2”

^ zobaczcie w googlach te dorki i zastanówcie się co by było gdyby istniał uniwersalny sploit na owy skrypt ;] masakra… jPortal od początku był dziurawy..

dzisiaj (a własciwie wczoraj) znalazłem kilka podatnosci w jPORTALU z poprawkami UserPatch; na razie publikuje jedną, chyba najbardziej krytyczną.

PNphpBB2 <= 1.2i (printview.php phpEx) Local File Inclusion Vuln

PNphpBB2 podatne na lokalne włączenie pliku ;] Śmieszny skrypcik, Kacper znalazł w nim dziure w czerwcu tego roku, miesiąc później Coloss. Dużo stron stoi na tym sofcie, w przeciągu kilku minut znalazłem przez google sześć podatnych stron, a zapewniam że jest ich więcej. Poza tym jest jeszcze LFI w pninit.php analogicznie w zmiennej phpEx. Podatność możecie zobaczyć na milw0rm.com lub tutaj: sploitpnphpbb2.txt Ok idę spać..