Pokaż wyniki 1 do 10 z 10

Temat: problem mysql

  1. #1
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie problem mysql

    Kod php:
    <?php
    mysql_connect
    ('127.0.0.1','user','pass') or die('error');
    mysql_query('insert into `tabelka` (`cos`,`cos2`) values (\'jakisbyle jaki text i 1234567\','.$_GET['jakas_zmienna'].')');
    ?>
    taki przykłaowy kodzik nie działa, wie ktoś czemu?
    Ostatnio edytowane przez 31337 : 05-20-2007 - 08:53

  2. Domyślnie

    Cytat Napisał 31337 Zobacz post
    Kod php:
    <?php
    mysql_connect
    ('127.0.0.1','user','pass') or die('error');
    mysql_query('insert into `tabelka` (`cos`,`cos2`) values (\'jakisbyle jaki text i 1234567\','.$_GET['jakas_zmienna'].')');
    ?>
    taki przykłaowy kodzik nie działa, wie ktoś czemu?
    Jaki błąd zwraca?
    http://pl2.php.net/mysql_error

    Nie możesz slashować apostrofów
    Kod:
    \'
    no i "cos" .. nie wymaga apostrofów czy co Ty tam użyłeś.

    Jaki to ma związek z bezpieczeństwem?
    http://php.net
    http://php.pl

  3. #3
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    Nie możesz slashować apostrofów
    to wyjaśnij mi jak bez używania " ma działać.


    no i "cos" .. nie wymaga apostrofów czy co Ty tam użyłeś.
    możesz dokładniej?

    edit:
    już sobie poradziłem. Problem tkwił w tym, że uczyłem się php z jakiejś pojeba**j książki, i nauczono mnie wstawiania quotów w argument tablicy.
    edit2:
    chociaż i z nimi dziala ehh, juz nie wiem co z tą bazą jest...
    Ostatnio edytowane przez 31337 : 05-20-2007 - 10:20

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

    Domyślnie

    A nie prosciej uzywac ? zamiast podstawiania parametrow do stringa?
    Robiac w ten sposob jak robisz pracujesz na naklejke 'SQL-Injection Rady' :-) a podajac ? w zapytaniu i przekazujac parametry podczas wywolania execute masz ten problem z glowy...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    nie zabardzo rozumiem, chodzi ci oto, żeby podawać zmienne w ten sposób?:
    http://host.pl/skrypt.php?zmienna1&zmienna2

    co do sql injection, to może się myle, ale wystarczy chyba magic_quotes_gpc = On ?

  6. #6
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie re

    niewystarczy magic-quote
    chodzi oto że w zmiennei $_GET lub $_POTS możesz podać wszytko
    cobędzie jeśli z a $_GET['zmienna']
    podstawisz jakieś zapytanie sql
    wyjdzie np
    insert into antek values(null,null,cośtam,\"$_GET[zmienna]\");
    a $_GET[zmiena]=delete from antek where 1;
    moga być problemy
    dlatego wszelkie dane które pochodza od urzytkowników
    musza być filtrowane

  7. #7
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    nie działa, dodaje się do tabeli delete from~
    poprostu trzeba umieć pisać stringi w '.
    mysql_query('insert into `77324`.`tabela` (`a`) values (\''.$_GET['a'].'\') where `user`=\''.$_GET['user'].'\'');
    Ostatnio edytowane przez 31337 : 05-20-2007 - 12:32

  8. #8
    Zarejestrowany
    Oct 2006
    Skąd
    krzesło
    Postów
    681

    Domyślnie re

    Niewiem stary ja sie na tym nieznam
    ale jest takie przykazanie Boże or Borze
    filtruj wszytko co pochodzi
    od urzytkownika
    jak ma byc liczba niech będzie liczba
    jak ma być string to sie upewni że niebedzie psocił
    oczywiście o xss niewspominając
    Ostatnio edytowane przez ble34 : 05-20-2007 - 14:08

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

    Domyślnie

    Cytat Napisał 31337 Zobacz post
    nie działa, dodaje się do tabeli delete from~
    poprostu trzeba umieć pisać stringi w '.
    Hahahahaha... no to zapracowales uczciwie na naklejke 'SQL-Injection Ready' - nie mam pytan!

    Poczytaj co to SQL Injection i jak dziala... a co jesli ja podam w formularzu dane w postaci URL-encoded albo UTF-8 - co wtedy zrobi Twoj skrypt? Nic... pusci to jak leci... a ja zakodowalem sobie latnie ' jeden z drugim i swoje polecenia SQL...

    Jakby to bylo takie proste to by inkt na forum tyle czasu klawiszy nie strzepil... a bylo dyskutowane! Jesli u mnie w firmie ktos z koderow PHP by tak powiedzial to momentalnie moglby zaczac szukac nowej pracy.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  10. #10
    Zarejestrowany
    Apr 2007
    Postów
    367

    Domyślnie

    Kod php:
    <?php
    mysql_connect
    ('127.0.0.1','******','******') or die ('ERROR!!!');
    mysql_query('insert into `*******`.`hackme` (`a`,`b`,`c`) values (\''.$_GET['a'].'\',\''.$_GET['b'].'\',\''.$_GET['c'].'\')');
    $sql=mysql_query('select `a`,`b`,`c` from `*******`.`hackme`');
    while(
    $x=mysql_fetch_assoc($sql))
    {
    print(
    htmlspecialchars($x['a']).'<br/>'.htmlspecialchars($x['b']).'<br/>'.htmlspecialchars($x['c']).'<br/><br/>');
    }
    ?>
    http://31337.freevar.com/hackme.php

    Prsze bardzo. W bazie jest tylko 1 tabela z 3 kolumnami typu text. Udowodnij mi, że skrypt jest dziurawy. Ja sprawdzałem z różnym kodowaniem, dodaje się do bazy jak normalnie.

    [edited]
    i co?
    tqm
    powiedzialeś, że jestm debilem nieznającym mysqla (a ucze się go 2 dzień ), więc UDOWODNIJ że w skrypcie jest błąd (np skasuj tabelkę hackme).
    Ostatnio edytowane przez 31337 : 05-22-2007 - 01:14

Podobne wątki

  1. MySQL poszukiwania zaginionej arki :)
    By szpuni in forum Bazy danych
    Odpowiedzi: 5
    Autor: 10-25-2008, 21:45
  2. [php/mysql] polskie znaki przy zapisie do bazy danych!
    By eMCe in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 6
    Autor: 05-07-2007, 17:39
  3. edycja wpisów mysql
    By ble34 in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 4
    Autor: 04-26-2007, 23:55
  4. mysql ?????
    By ble34 in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 6
    Autor: 04-23-2007, 23:27

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