poniedziałek, 4 lutego 2013

Hack VoIP #4 - Niebezpieczny system telekomunikacyjny - EasyITSP

EasyITSP by Lemens Telephone Systems <= 2.0.7


Drugie podejście do systemu telekomunikacyjnego EasyITSP firmy Lemens Telephone.  Odkryty przeze mnie błąd polega na możliwości wyszukiwania, odczytywania i usuwania plików *.txt  na serwerze, oraz odsłuchiwania poczty głosowej innych użytkowników tego systemu VoIP dzięki atakowi directory traversal - w sumie to nic wielkiego nawet gdy weźmie się pod uwagę to, żeby wykonać atak należy wcześniej być zalogowanym - na szczęście atakującego jako klient, a nie administrator czy reseller.

Błąd pokazuje tylko tyle, że firma Lemens Telephone, która jest autorem systemu telekomunikacyjnego EasyITSP nie za bardzo bierze pod uwagę bezpieczeństwo klientów korzystających z ich systemu VoIP.

Dobre jest przynajmniej to, że Lemens wskazane błędy stara się poprawiać, ale nie informuje nikogo dlaczego wprowadza daną poprawkę. Mam tu na myśli już raz opublikowany przeze mnie exploit za którego pomocą można było poznać wszystkie loginy, hasła oraz dane kart kredytowych użytkowników usług telekomunikacyjnych wykorzystujących system EasyITSP. Błąd zaliczyć należało jako krytyczny, a w ChangeLogu dołączonym do systemu EasyITSP przeczytamy tylko:

....
#################################################
2012-10-31 - Matthew Lemens <support@lemens-ts.com>
        new login system for admin/customer
 ....


Problem w tym, że z takim podejściem  mało kto zaktualizuje wersję swojego EasyITSP bo nie wie o krytycznej luce, którą spotkać można do tej pory w niektórych instalacjach systemu firmy Lemens Telephone.

Wracając do samego błędu, którego tematem miał być ten wpis. Problem znajduje się w pliku voicemail.php w linii 220.

piątek, 1 lutego 2013

Telekomunikacja Polska Infolinia

Ile to się naszukałem żeby zadzwonić do Telekomunikacji Polskiej - Orange na infolinię :)

PHP - niebezpieczny operator porównania ==


W PHP możemy porównać 2 zupełnie inne rzeczy, a PHP uzna, że to jest w porządku.
PHP i bezpieczeństwo :)

Za sprawą wpisu na blogu Gynvaela o operatorze równości w PHP stwierdzam, że PHP to bardzo dziwny język. Okazuje się, że możemy porównać 2 całkiem inne stringi (i  nie tylko), a PHP uzna, że są one takie same.

czwartek, 31 stycznia 2013

Adding Multiple Hosts | Dodawanie wielu hostów - Centreon & CLAPI

Jak dodać szybko wiele hostów do Centrona (nagios)? Wystarczy wykorzystać API do Centreona - CLAPI i delikatnie je obskryptować aby móc dodawać wiele hostów za jednym razem.

Strona projektu CLAPI - http://forge.centreon.com/projects/centreon-clapi
+Centreon


Zakładając, że katalog CLAPI to:
/usr/local/centreon/www/modules/centreon-clapi/core

należy umieścić w nim poniższy skrypt

środa, 30 stycznia 2013

sed - zamiana zmiennych w kodzie PHP

Dostałem dziś źródła aplikacji PHP napisaną przez znajomego, który poprosił mnie abym wszystkie zmienne $_POST w jego kodzie szybko zwalidował, sparsował czy jak to inaczej nazwać :) Napisanie, funkcji nie było problemem. Problemem było jak to szybko zamienić w dziesiątkach plików źródłowych :)

Z pomocą przyszedł sed i jedna z najpopularniejszych powłok systemów uniksowych ;)

poniedziałek, 21 stycznia 2013

VoIPmonitor Free GUI

Dziś na sourceforge wrzuciłem mały projekt, który robię ze znajomym, Jest to nakładka - GUI na VoIPmonitor. VoIPmonitor to nic innego jak sniffer, który pomaga przy analizie jakości połączeń głosowych.  Co prawda sam projekt posiada GUI i to bardzo dobre, ale płatne i niestety zaciemnione przez ionCube.

VoIPmonitor Free GUI na pewno nie jest i raczej nie będzie konkurencją dla oryginalnego GUI voipmonitora.  Nasze GUI to tylko darmowa alternatywa :)





Dziś wrzucam to co zrobiłem przez jeden dzień. Mamy nadzieję, że projekt będzie rozwijany :)

https://sourceforge.net/projects/voipmonitorgui/


Będę wdzięczny za raportowanie o znalezionych problemach oraz podatnościach w kodzie.

sobota, 19 stycznia 2013

Pozycjonowanie, a raczej optymalizacja


Muszę się pochwalić kolejnym osiągnięciem w sztuce zwaną pozycjonowaniem, albo raczej optymalizacją bo samo pozycjonowanie to według mnie strata czasu.

Po około roku przerwy w optymalizacji czegokolwiek okazało się, że stare sposoby są nadal najlepsze i najbardziej promowane przez wujka Google - bo tylko na pozycji w tej wyszukiwarce zawsze mi zależy.

Kiedyś promowałem swoje strony związane z bezpieczeństwem IT, później stronę firmy zajmującej się wdrażaniem technologii VoIP. Zarówno obie strony, choć były małe i nie były bardzo prężnymi firmami  w Google pojawiały się na wysokich pozycjach, a to dzięki temu, że stosowałem się do tworzenia stron według standardów oraz dodawaniem artykułów z frazami układanymi pod Google.

Więc rada ode mnie na przyszłość. Nie starajcie się sztucznie pozycjonować stron. Szkoda czasu i pieniędzy - efekty zazwyczaj nie są współmierne. Lepiej stosować się do starych, dobrych praktyk i rozwijać stronę efektywnie dla ludzi, a nie tylko dla wyszukiwarek.

Idę świętować wy pozycjonowanie strony wypożyczalni samochodów znajomego :)


BTW. sorry za taki offtop, musiałem się wyżalić :P


środa, 28 listopada 2012

Rejestr przedsiębiorców telekomunikacyjnych z UKE [parser]


Parser, który pozwala na pobranie listy przedsiębiorców telekomunikacyjnych z bazy UKE, korzystając z wyszukiwarki http://www.uke.gov.pl/marta/searcherRptForm.vm.


<?php
// Michał Błaszczak
// blaszczakm.blogspot.com

function uke($id)
{
$data =
file_get_contents("http://www.uke.gov.pl/marta/resultRptDetails.vm?form=1&id=$id");
$dom = new domDocument;
@$html = @$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(0)->getElementsByTagName('tr');
$dane='';
  foreach ($rows as $row)
  {
      $cols = $row->getElementsByTagName('td');

        $intro = $cols->item(0)->nodeValue;

        $t = explode("\n",$intro);
        $dane .= trim($t[1]);
        $dane .=';';
    }
system("echo '$dane' >> uke.csv");
}


for($i=1;$i<1000;$i++) // pierwszy 1000
{
        uke($i);
}



?>


Na sam koniec dla ładnego wyniku

iconv --from-code=UTF-8 --to-code=ISO-8859-2 --output uke1.csv uke.csv

W pliku uke1.csv dostaniemy pierwszy tysiąc operatorów telekomunikacyjnych.

Jeśli, ktoś jest nie techniczny, a bardzo potrzebuje listę operatorów telekomunikacyjnych to niech nie piszę na mail tylko zostawi namiar do siebie w komentarzu pod postem, a ja się odezwę.