2010-09-27 2 views
1

Я хочу знать, если вы когда-либо делали инъекцию на веб-сайте, используя SQL-инъекцию для этического взлома.Вы когда-нибудь делали SQL-инъекцию?

Какие трюки/методы вы использовали (особенно mysql)?

+0

Для этических или неэтичных целей? – BoltClock

+0

действительно этический, делая сайт более безопасным. но я думаю, что методы не отличаются для этического или неэтичного хакера. –

+4

@ Рахим, надеюсь, вы понимаете, что честный ответ здесь скорее является признанием вины за взлом системы и подверженностью неограниченной ответственности. Вы действительно думаете, что кто-нибудь придумал бы свои «трюки» в качестве ответа на этот вопрос? –

ответ

7

Я использовал стандартный трюк на формах авторизации:

user: admin 
pass: ' OR '1'='1 
+0

Не могли бы вы рассказать о том, какие меры могут быть приняты? – Tomasi

+3

@ diamandiev не нужно использовать какие-либо специальные встречные меры вообще. Хорошее построенное приложение уже неуязвимо для этой глупой «атаки» –

+0

Чтобы ответить на мое «я». Использовать параметры и/или хранимые процедуры: UserPassword = @Password – Tomasi

2

Nice деталь о techniqs для

Примера:

statement = "SELECT * FROM users WHERE name = '" + userName + "';" 
pass userName = ' or '1'='1 
SELECT * FROM users WHERE name = '' OR '1'='1'; 

SQL injection

Тип этого

1.2 Incorrect type handling 
1.3 Vulnerabilities inside the database server 
1.4 Blind SQL injection 
1.4.1 Conditional responses 
1.4.2 Conditional errors 
1.4.3 Time delays 
5

Если вы намерены выполнять этические взломы или проверки проникновения приложений с использованием MySQL, вы найдете OWASP Testing Guide, specifically the section on MySQL огромной ценностью, кроме общего Testing Guide for SQL injection.

Обратите внимание, что это не делает никаких предположений о используемой структуре или langauge - PHP, Java (включая Java EE, Spring и т. Д.), Поэтому довольно типично, как SQL-инъекция может быть предпринята против приложения. Фактические методы, связанные с получением пользовательских входов на уровень доступа к базе данных приложения, действительно будут варьироваться от одного приложения к другому. Разумеется, приложения, которые анализируют HTTP-запросы, требуют всех входов (параметры URL, пары имени-значения в элементе POST, заголовки HTTP). Наличие другого источника ввода (например, XML или JSON вместо простых HTTP-запросов) потребует, чтобы вы правильно кормили SQL, что будет понято синтаксическими анализаторами приложения, что в конечном итоге приведет к транспортировке SQL на уровень, на котором выполняются запросы к базе данных ,

6

Непосредственно, но иногда я делаю LIKE поиск с помощью подстановочных знаков (%), даже если поисковая страница не говорит, что поддерживает их.

+0

Я думаю, что Neopets однажды признал, что этот трюк работал с некоторыми из них. Или, по крайней мере, им не нравились фан-сайты, показывающие, что они работают. – BoltClock

0

Вы просто remimded это, я надеюсь, что вы найдете это удовольствие: http://xkcd.com/327/;)

+1

Маленькие Bobby Tables переехали в Норвегию - https://www.sysedata.no/nyheter/edvin-tables#english –

+0

«и подумали, что мы воспользуемся возможностью для некоторых безвредных - или, как мы думали, веселья». По крайней мере компании, которым приходилось работать с этой компанией в своих базах данных, должны были сделать отличную защиту от инъекций sql! :) – Dane411

0

Да, я использовал основные методы, как и все остальные, но всегда на своих сайтах

' OR '1'='1 

Я даже присоединился к сайту, где вы можете изучить основы взлома на веб-сайте, они создали серию сайтов, специально сделанных для демонстрации уязвимости веб-сайта (конечно, вам не показывают, как это сделать, но вам нужно найти это для себя). И я не чувствую никакой вины, поскольку я не использую ее, чтобы нанести вред сайту других людей, а только моей.

Смежные вопросы