HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.05.2011, 19:28
qaz
Guest
Сообщений: n/a
Провел на форуме:
344922

Репутация: 75
По умолчанию

читал я статью /thread43966.html

и решил попробовать

1.3 Третий случай (Авторизация)

сдалал на своём хостинге форму входа

http://mai1-ru.h2m.ru/yyy.php

исходный код

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

[/
COLOR]

Авторизация

[COLOR="#0000BB"]

[/
COLOR] Выйти

[COLOR="#0000BB"]

[/
COLOR]

Логин:

Пароль:

[
COLOR="#0000BB"]

[/
COLOR]

[/
COLOR
файл action.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR]

[/COLOR
перепробовал все примеры введения иньекции, но ничего не происходит, почему? в статье штото не правильно написано? покажите мне плыз как и што надо вводить штоб например войти под админом

login: pass

user:123

admin:12345
 
Ответить с цитированием

  #2  
Старый 06.05.2011, 20:58
{lIbERT}
Guest
Сообщений: n/a
Провел на форуме:
1488

Репутация: 0
По умолчанию

' or '1' = '1

Авторизация проходит...
 
Ответить с цитированием

  #3  
Старый 06.05.2011, 21:52
qaz
Guest
Сообщений: n/a
Провел на форуме:
344922

Репутация: 75
По умолчанию

Цитата:
Сообщение от {lIbERT}  
{lIbERT} said:
' or '1' = '1
Авторизация проходит...
ето в поле пасс писать надо?
 
Ответить с цитированием

  #4  
Старый 06.05.2011, 22:08
{lIbERT}
Guest
Сообщений: n/a
Провел на форуме:
1488

Репутация: 0
По умолчанию

в оба.
 
Ответить с цитированием

  #5  
Старый 06.05.2011, 22:51
[RedSky]
Guest
Сообщений: n/a
Провел на форуме:
3598

Репутация: 10
По умолчанию

Потому что, у тебя проверка

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]mysql_num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$sql[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])[/COLOR][/COLOR
Тоесть запрос должен возвращать одну запись

Вариантов тут много:

login: 'or(1)limit 1-- a

password: pew

login: \

password: or(1)limit 1-- a


login: ' union select 1-- a

password: pew


При втором варианте ковычка от логина закроется кавычкой от пасса, и в пасс вписывается злозапрос.

Цитата:
Сообщение от {lIbERT}  
{lIbERT} said:
' or '1' = '1
Авторизация проходит...
Цитата:
Сообщение от {lIbERT}  
{lIbERT} said:
в оба.
Вы чему людей учите?
 
Ответить с цитированием

  #6  
Старый 06.05.2011, 23:13
qaz
Guest
Сообщений: n/a
Провел на форуме:
344922

Репутация: 75
По умолчанию

ага, тоесть запрос у меня получается такой

SELECT `id` FROM `user` WHERE `user`= ''or(1)limit 1-- a' AND `pass`= 'pew' LIMIT 1

а тут or(1)limit 1-- a што значит ета идиница or(1) и буква --а
 
Ответить с цитированием

  #7  
Старый 06.05.2011, 23:29
[RedSky]
Guest
Сообщений: n/a
Провел на форуме:
3598

Репутация: 10
По умолчанию

Цитата:
Сообщение от qaz  
qaz said:
ага, тоесть запрос у меня получается такой
SELECT `id` FROM `user` WHERE `user`= ''or(1)limit 1-- a' AND `pass`= 'pew' LIMIT 1
а тут or(1)limit 1-- a што значит ета идиница or(1) и буква -- a
Это значит, что надо открыть ман по майскулу и прочитать. /* Ах да, это же, конечно, хардкорнее чем спрашивать на форуме */

Добавлением условия or, которое заведомо тру мы возвращаем записи из таблицы, что и требовал от нас для авторизации твой "тру-программерс" код.

Для чего здесь нужен лимит я уже написал в прошлом посте, чтобы запрос не возвращал больше одной записи(опять-таки условие твоего "кода").

А "-- " коментарий, после которого должен быть пробел. А что стоит после коментария - это не важно, хоть -- a vot tut lubaya hueta
 
Ответить с цитированием

  #8  
Старый 08.05.2011, 13:48
qaz
Guest
Сообщений: n/a
Провел на форуме:
344922

Репутация: 75
По умолчанию

а вот такой вопрос

SELECT `id` FROM `user` WHERE `user`= '' union select 1-- +' AND `pass`= 'pew' LIMIT 1

' ' union select 1-- +' AND `pass`= 'pew'

остаётся одна ковичка которая незакрывается, почему не возникает синтактической ошибки?
 
Ответить с цитированием

  #9  
Старый 08.05.2011, 15:23
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

Репутация: 935
По умолчанию

Потому что ты комментируешь конец запроса (эту часть: +' AND `pass`= 'pew' LIMIT 1)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ