Wstrzyknięcie SQL to technika wstrzykiwania kodu, stosowana do atakowania aplikacji opartych na danych, w której złośliwe instrukcje SQL są wstawiane do pola wejściowego w celu wykonania (np. W celu zrzucenia zawartości bazy danych atakującemu)
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Czy jesteś w stanie przesłać stos w przepełnieniu stosu : Czy masz już SQL-ин PHPекций w PHP? Jeśli dane wejściowe użytkownika zostaną wstawione bez modyfikacji w zapytaniu SQL, …
Czy jest gdzieś funkcja catchall, która działa dobrze w odkażaniu danych wejściowych użytkownika dla iniekcji SQL i ataków XSS, jednocześnie dopuszczając pewne typy tagów HTML?
Wystarczy spojrzeć na: (Źródło: https://xkcd.com/327/ ) Co robi ten SQL: Robert'); DROP TABLE STUDENTS; -- Znam oba 'i jestem --do komentowania, ale czy to słowo DROPrównież nie jest komentowane, ponieważ jest częścią tego samego wiersza?
Powiedzmy, że mam taki kod: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); Dokumentacja ChNP mówi: Parametry gotowych instrukcji nie muszą być cytowane; kierowca obsługuje to za ciebie. Czy to naprawdę wszystko, co muszę zrobić, aby uniknąć zastrzyków SQL? …
Czy istnieje możliwość wstrzyknięcia SQL, nawet przy użyciu mysql_real_escape_string()funkcji? Rozważ tę przykładową sytuację. SQL jest zbudowany w PHP w następujący sposób: $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password')); $sql = "SELECT * FROM table WHERE login='$login' AND password='$password'"; Słyszałem, że wiele osób mówi mi, że taki kod jest nadal niebezpieczny i …
W jaki sposób przygotowane instrukcje pomagają nam zapobiegać atakom typu SQL injection ? Wikipedia mówi: Przygotowane instrukcje są odporne na iniekcję SQL, ponieważ wartości parametrów, które są przesyłane później przy użyciu innego protokołu, nie muszą być poprawnie chronione. Jeśli oryginalny szablon instrukcji nie pochodzi z danych wejściowych zewnętrznych, nie można …
Próbuję umieścić w javie jakiś iniekcję anti sql i jest mi bardzo trudno pracować z funkcją string „replaceAll”. Ostatecznie potrzebuję funkcji, która skonwertuje wszystkie istniejące \na \\, dowolne "na \", dowolne 'na \'i dowolne \nna \\ntak, że gdy ciąg jest oceniany przez wstrzyknięcia SQL MySQL, zostaną zablokowane. Podłączyłem jakiś kod, …
Zdaję sobie sprawę, że sparametryzowane zapytania SQL są optymalnym sposobem oczyszczenia danych wejściowych użytkownika podczas tworzenia zapytań zawierających dane wejściowe użytkownika, ale zastanawiam się, co jest złego w przyjmowaniu danych wejściowych użytkownika i unikaniu pojedynczych cudzysłowów i otaczaniu całego ciągu pojedynczymi cudzysłowami. Oto kod: sSanitizedInput = "'" & Replace(sInput, "'", …
Wiem, że PreparedStatements unikają / zapobiegają iniekcji SQL. Jak to się dzieje? Czy kwerenda w postaci ostatecznej, która została utworzona przy użyciu PreparedStatements, będzie ciągiem znaków, czy w inny sposób?
Wcześniej dzisiaj zadano pytanie dotyczące strategii sprawdzania poprawności danych wejściowych w aplikacjach internetowych . Najlepsza odpowiedź w momencie pisania sugeruje PHPużycie tylko htmlspecialcharsi mysql_real_escape_string. Moje pytanie brzmi: czy to zawsze wystarczy? Czy powinniśmy wiedzieć więcej? Gdzie te funkcje się psują?
Jestem bardzo nowy w pracy z bazami danych. Teraz mogę napisać SELECT, UPDATE, DELETEi INSERTpoleceń. Ale widziałem wiele forów, na których wolimy pisać: SELECT empSalary from employee where salary = @salary ...zamiast: SELECT empSalary from employee where salary = txtSalary.Text Dlaczego zawsze wolimy używać parametrów i jak ich używać? Chciałem …
Jeśli chodzi o wstrzykiwanie SQL , w pełni rozumiem konieczność parametryzacji stringparametru; to jedna z najstarszych sztuczek w tej książce. Ale kiedy można uzasadnić brak parametryzacji SqlCommand? Czy jakiekolwiek typy danych są uważane za „bezpieczne”, jeśli nie można ich parametryzować? Na przykład: nie uważam się nigdzie w pobliżu eksperta w …
Mamy tutaj inną dyskusję na temat używania sparametryzowanych zapytań sql w naszym kodzie. Mamy dwie strony dyskusji: ja i kilku innych, którzy twierdzą, że powinniśmy zawsze używać parametrów do ochrony przed wstrzyknięciami sql i innymi facetami, którzy nie uważają, że jest to konieczne. Zamiast tego chcą zastąpić pojedyncze apostrofy dwoma …
Rozumiem, że NIGDY nie należy ufać wprowadzaniu danych przez użytkownika z formularza, głównie ze względu na możliwość wstrzyknięcia SQL. Czy dotyczy to jednak również formularza, w którym jedyne dane wejściowe pochodzą z listy rozwijanej (patrz poniżej)? Zapisuję $_POST['size']do sesji, która jest następnie używana w całej witrynie do wykonywania zapytań w …
Czy można zapobiec iniekcjom SQL w Node.js (najlepiej za pomocą modułu) w taki sam sposób, w jaki PHP miał przygotowane instrukcje, które chroniły przed nimi. Jeśli tak to jak? Jeśli nie, to jakie przykłady mogą ominąć podany przeze mnie kod (patrz poniżej). Jakiś kontekst: Tworzę aplikację internetową ze stosem zaplecza …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.