Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Skaner aplikacji webowych

W ostatnim czasie firma Google wypuściła w świat aplikację o nazwie [URL=http://code.google.com/p/skipfish/]Skipfish[/URL]. Miło jest również wspomnieć, że autorem programu jest [URL=http://lcamtuf.coredump.cx/]Michał Zalewski[/URL] znany jako lcamtuf – polski haker. Jest to automatyczny skaner bezpieczeństwa aplikacji webowych. Aplikacja pomaga w wyszukiwaniu potencjalnych luk na stronach internetowych. Skipfish potrafi współpracować z wieloma istniejącymi frameworkami aplikacji webowych.

Do swojego działania wykorzystuje [URL=http://pl.wikipedia.org/wiki/Heurystyka_%28informatyka%29]heurystykę[/URL]. Automatycznie generuje różnego rodzaju słowniki, uzupełnia formularze na stronach internetowych oraz wykorzystuje różne metody ataków do sprawdzenia potencjalnych luk na stronie.

Aplikacja została napisana w C i bardzo dobrze zoptymalizowana. Działa bardzo szybko. Nie obciąża naszego systemu operacyjnego. Potrafi nawet osiągnąć wydajność rzędu 2000 requestów na sekundę. Wielu uważa, że w ten sposób aplikacja może wykonać atak [URL=http://pl.wikipedia.org/wiki/DoS]DoS[/URL] na serwer.

Skipfish dostępny jest na takie środowiska jak Linux, FreeBSD 7.0+, MacOS X, oraz Windows ([URL=http://cygwin.com/]Cygwin[/URL]). Pobieramy źródła aplikacji i rozpoczynamy ich kompilację. Jeżeli posiadamy w systemie odpowiednie biblioteki wraz z plikami nagłówkowymi to kompilacja powinna przebiegać bez problemu.

[root@amentine src]# tar -xzf skipfish-1.25b.tgz [root@amentine src]# cd skipfish [root@amentine skipfish]# make cc -L/usr/local/lib/ -L/opt/local/lib skipfish.c -o skipfish -O3 -Wno-format -Wall -funsigned-char -g -ggdb -D_FORTIFY_SOURCE=0 -I/usr/local/include/ -I/opt/local/include/ \ http_client.c database.c crawler.c analysis.c report.c -lcrypto -lssl -lidn -lz analysis.c: In function ‘get_date’: analysis.c:1355: warning: format ‘%02llu’ expects type ‘long long unsigned int *’, but argument 3 has type ‘s64 *’ analysis.c:1355: warning: format ‘%02llu’ expects type ‘long long unsigned int *’, but argument 4 has type ‘s64 *’ analysis.c:1355: warning: format ‘%02llu’ expects type ‘long long unsigned int *’, but argument 5 has type ‘s64 *’ See dictionaries/README-FIRST to pick a dictionary for the tool. Having problems with your scans? Be sure to visit: http://code.google.com/p/skipfish/wiki/KnownIssues [root@amentine skipfish]#

Jeżeli wszystko poszło poprawnie, wystarczy teraz uruchomić aplikację i poczekać aż wygeneruje raport. Po uruchomieniu aplikacji poleceniem:

[root@amentine skipfish]# ./skipfish -o raport -W dictionaries/minimal.wl http://127.0.0.1/

Jeżeli wszystko wykonaliśmy prawidłowo, naszym oczom powinien pokazać się ekran, na którym widać będzie jak działa aplikacja. Jeżeli testujemy nasz lokalny serwer, możemy zajrzeć do logów i zobaczyć jakie adresy URL są wywoływane przez Shipfisha.

skipfish version 1.25b by Scan statistics --------------- Scan time : 0:00:03.0355 HTTP requests : 4754 sent (1481.01/s), 6769.71 kB in, 1090.14 kB out (2342.03 kB/s) Compression : 0.00 kB in, 0.00 kB out (0.00% gain) HTTP exceptions : 0 net errors, 0 proto errors, 0 retried, 0 drops TCP connections : 53 total (120.98 req/conn) TCP exceptions : 0 failures, 0 timeouts, 2 purged External links : 67 skipped Reqs pending : 1658 Database statistics ------------------- Pivots : 325 total, 25 done (7.69%) In progress : 59 pending, 215 init, 8 attacks, 18 dict Missing nodes : 0 spotted Node types : 1 serv, 16 dir, 32 file, 2 pinfo, 172 unkn, 102 par, 0 val Issues found : 45 info, 0 warn, 3 low, 7 medium, 0 high impact Dict size : 2115 words (116 new), 34 extensions, 256 candidates

Po skończonej pracy, zostanie wygenerowany raport HTML, który możecie zobaczyć na obrazku poniżej. 

Komentarze

0 nowych
MantisGhost   4 #1 25.03.2010 18:08

No proszę w końcu jakiś sensowny wpis na tych blogach coś nowego coś świeżego do tego pożytecznego. Bardzo fajny wpis a co do aplikacji to fajna sprawa, aż sam się nią pobawię.

hINDUss   10 #2 26.03.2010 04:03

dobrze widzę? 2,5 GB przesłanych danych ?
ciekawie zapowiadające się narzędzie, ale chyba tylko do wykorzystania lokalnie...

paszczak000   6 #3 26.03.2010 07:35

@MantisGhost, dzięki :]

@INDUss, no troszkę ruchu wygenerowałem. Co prawda robiłem to na jednej maszynie pomiędzy maszyną fizyczną a wirtualną. Co nie zmienia faktu, że aplikacja na pełnej mocy zaczynała dobijać działającego na maszynie wirtualnej Apacha. Ale przecież można ograniczyć ilość requestów i problem znika ;-)

M@ster   16 #4 26.03.2010 09:11

Pytanie techniczne, jak zrobiłeś na blogu odstępy w znaczniku [code]? Chyba że już to naprawione zostało i można je robić :)

paszczak000   6 #5 26.03.2010 09:26

Wczoraj to zostało naprawione. Zgłosiłem chłopakom błąd i się uporali z tym ;-)

  #6 26.03.2010 09:34

To widać masz większe przebicie niż ja :P

Lisek REDAKCJA  12 #7 26.03.2010 10:09

M@ster, to nie jest kwestia przebicia, po prostu wziąłem się za poprawianie blogów a wczoraj na tapecie było code bo mi paszczak000 o tym przypomniał :)

  #8 27.03.2015 11:25

hINDUss: przed indiami jest: Praindogermania. To nic innego jak przedbabelowie. przed pobabelowiem. Wyjasnienie: Anna Katharina Emmerick: "Pierwsza [praindoeuropejska] mowa ojczysta Adama, Sema i Noego jest inna i tylko w poszczególnych jeszcze narzeczach istnieje. Pierwszymi czystymi [indoiranskimi] córkami tej mowy jest mowa Baktrów, Zendów i święta mowa Indów. W tych językach, słowa można znaleźć dokładnie podobne do dolnoniemieckiego mojego rodzinnego miasta. W tym języku napisana też jest książka, którą w dzisiejszym Ktezyfonie, nad rzeką Tygrys leżącym, widzę." Pobabelowie musi ustac, patrz: Anna Katharina Emmerick: "Mój Oblubieniec ukazał mi niesłychany nieład i wewnętrzną nieczystość wszystkich rzeczy oraz wszelkie Swoje działania, zmierzające do przywrócenia stanu początkowego"

  #9 27.03.2015 11:32

praindogermania i praindoeuropa to synonimy, jakby kto nie wiedział siedze w temacie to wiem

  #10 23.04.2015 20:45

każdy promujący wielokulturowość to opsys nad opsysy - tylko Klan Ausran jest cool

  #11 15.12.2015 18:56

Jestem zamroczony tyle tysięcy dystrybucji która najlepsza?

  #12 16.12.2015 18:03

spróbójcie PC BSD - jedyny z jednoplikowymi instalatorami dodatkowego oprogramowania, ale i tak będziecie wolić piekło zależności w óbóńtó

  #13 24.12.2015 12:27

doniczego, jedna przerwa w zasilaniu i system rozsypany przy ponownym starcie - zamiast pulpitu sieczka.

  #14 28.12.2015 11:33

wersja 8.2/ przeżywa nagłe wyłączenia

wersja 9.0/ sypie się przy nagłych wyłączeniach

  #15 27.05.2016 22:43

takiej wersji nie ma jak 8.2 na stronie, zatem nadal winda wygrywa