ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

16.01.2010, 14:37
|
|
Banned
Регистрация: 28.12.2009
Сообщений: 30
Провел на форуме: 58726
Репутация:
0
|
|
Подскадите пожалуйста. Ума не приложу
Вот код:
PHP код:
include("config.php");
$response=mysql_query("SELECT * FROM articles WHERE id='".$_GET['id']."'");
$result=mysql_fetch_array($response);
...
echo "
<table width=\"100%\">
<tr><th>".$result['title']."</th></tr>
<tr><td><img src=".$result['image']." width=200><br>".$result['text']."</td></tr>
</table><br>
";
Почему не проходит инъекция? когда подставишь ковычку - ошибку есть mysql_fetch_array().
А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
|
|
|

16.01.2010, 14:42
|
|
Участник форума
Регистрация: 17.09.2006
Сообщений: 248
Провел на форуме: 556476
Репутация:
66
|
|
ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал
Еще вопрос если ссылка будет вида
galle/99/1/1/8
то как правильно сделать запрос, так как уже почти все сайты так настравиваются.
galle/99/1/1/8'+order+by+10/* или galle/99/1/1/8'/order/by/10/*
|
|
|

16.01.2010, 14:55
|
|
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме: 812087
Репутация:
129
|
|
Сообщение от Серёжа393
Подскадите пожалуйста. Ума не приложу
Вот код:
PHP код:
include("config.php");
$response=mysql_query("SELECT * FROM articles WHERE id='".$_GET['id']."'");
$result=mysql_fetch_array($response);
...
echo "
<table width=\"100%\">
<tr><th>".$result['title']."</th></tr>
<tr><td><img src=".$result['image']." width=200><br>".$result['text']."</td></tr>
</table><br>
";
Почему не проходит инъекция? когда подставишь ковычку - ошибку есть mysql_fetch_array().
А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
Запрос то ты какой передаешь страннице?Напиши его пожалуйста, т.к без него тебе вряд ли помогут разобраться с ошибкой, а могут написать готовое решение ... получив его, знаний полученных в итоге будет 0. А ошибку тебе разберут,объяснят и подскажут почему было не правильно ... я думаю с этого будет больший толк.
|
|
|

16.01.2010, 14:56
|
|
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме: 812087
Репутация:
129
|
|
Сообщение от Strilo4ka
А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
как она здесь пройдет тут екранировать то надо в коде двойные кавычки или слешами...
Пройдет и очень просто ... при
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
id = 3 union select 1,2,3,4,5/* вот и весь запрос ... кавычки даже не к чему.
|
|
|

16.01.2010, 14:59
|
|
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме: 5571194
Репутация:
1934
|
|
Сообщение от YuNi|[c
ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал
Еще вопрос если ссылка будет вида galle/99/1/1/8 то как правильно сделать запрос, так как уже почти все сайты так настравиваются. galle/99/1/1/8'+order+by+10/* или galle/99/1/1/8'/order/by/10/*
первый вариант. но закрывай запрос по-другому. а то модррерайт не поймёт тебя
http://site.com/galle/99/1/1/8'+order+by+10+ --+/
__________________
Появляюсь редко. Важные дела в реале.
|
|
|

16.01.2010, 15:12
|
|
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме: 812087
Репутация:
129
|
|
Сообщение от Strilo4ka
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
обясните кто нить пожалуйста проверить нет сервера и компа нет , не доганяю тогда, что сдесь с " в переменной!!!??? Сижу не через свой комп а гуглить что то толку мало...
Тут ничего особенного ))))
Это идентично
PHP код:
mysql_query("SELECT * FROM articles WHERE id=$_GET[id]");
Теперь инекция пройдет ? 
|
|
|

16.01.2010, 15:17
|
|
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме: 5571194
Репутация:
1934
|
|
Сообщение от Strilo4ka
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
обясните кто нить пожалуйста проверить нет сервера и компа нет , не доганяю тогда, что сдесь с " в переменной!!!??? Сижу не через свой комп а гуглить что то толку мало...
Я так и не понял вопроса =\
в коде, который ты предоставил есть следующее:
mysql_query() выполняет mysql запрос. в качестве входного параметра - строка.
в твоем случае это строка "SELECT * FROM articles WHERE id=".$_GET['id'].""
эта строка остоит из трёх частей
- "SELECT * FROM articles WHERE id="
- $_GET['id']
- ""
все эти части соединяются воедино и получается одна строка.
первая и третья части обрамлены в двойные ковычки. вторая часть - это данные которые поступают через GET
если $_GET['id'] будет например так: site/?id=123 то вся строка mysql запроса примет вид:
"SELECT * FROM articles WHERE id=123"
sql-injection:
site/?id=123 and 1=0 union select 1,2,3
запрос примет вид:
"SELECT * FROM articles WHERE id=123 and 1=0 union select 1,2,3"
__________________
Появляюсь редко. Важные дела в реале.
|
|
|

16.01.2010, 15:24
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от Серёжа393
Подскадите пожалуйста. Ума не приложу
Вот код:
PHP код:
include("config.php");
$response=mysql_query("SELECT * FROM articles WHERE id='".$_GET['id']."'");
$result=mysql_fetch_array($response);
...
echo "
<table width=\"100%\">
<tr><th>".$result['title']."</th></tr>
<tr><td><img src=".$result['image']." width=200><br>".$result['text']."</td></tr>
</table><br>
";
Почему не проходит инъекция? когда подставишь ковычку - ошибку есть mysql_fetch_array().
А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
Наеврное просто магические кавычки включены,что мозги то трахать людям ^_^
|
|
|

16.01.2010, 15:25
|
|
Новичок
Регистрация: 25.12.2009
Сообщений: 10
Провел на форуме: 76178
Репутация:
30
|
|
Сообщение от YuNi|[c
ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал
Я же тебе уже написал.
Возьмем в качестве примера вот этот вариант:
galle/99/1/1/8'/order/by/10/*
Если исходить из логики построения вот такого запроса, можно сделать вывод, что в бд попадает вот такое нечто:
select * from newz where asd='galle 99 1 1 8 order by 10 *' ...
Естественно, мускул такого не поймет.
Имхо, исходная строка имеет вид:
galle.php?year=99&month=1&day=1&hernya=8
Замечательный модуль апача, mod_rewrite, это пережевывает и выпихивает то, что мы имеем.
Сам несколько раз сталкивался с подобными штуками, к примеру :
asd.com/gallery/234658234+and+1=7+--+.html
Поскольку апач модифицирует юрлку с помощью регулярных выражений, скорее всего, на обратном пути в процессе "расшифровки" в качестве разделителя он использует "/" так что возможно, в данном случае, комментарий типа "/*" не подойдёт, хотя скажу сразу, что особо сильно в работу мод_рерайт не въезжал и это рассуждение о многострочном комментарии может быть неверным.
ЗЫ, кому интересно, доки по мод_рерайту лежат тута:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
Если я что-то неправильно сказал - поправьте.
Последний раз редактировалось Ayowa; 16.01.2010 в 15:32..
|
|
|

16.01.2010, 16:17
|
|
Познающий
Регистрация: 21.07.2007
Сообщений: 68
Провел на форуме: 947074
Репутация:
257
|
|
Вопросец, если через site.ru/phpmyadmin/ делать into outfile 'temp.txt', то куда по дефолту может скидываться файл, нету подручных средств чтобы проверить.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|