ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

  #11231  
Старый 16.01.2010, 14:37
Серёжа393
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'].""); 
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
 
Ответить с цитированием

  #11232  
Старый 16.01.2010, 14:42
YuNi|[c
Участник форума
Регистрация: 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/*
 
Ответить с цитированием

  #11233  
Старый 16.01.2010, 14:55
[NiGHT]DarkAngel
Участник форума
Регистрация: 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. А ошибку тебе разберут,объяснят и подскажут почему было не правильно ... я думаю с этого будет больший толк.
 
Ответить с цитированием

  #11234  
Старый 16.01.2010, 14:56
[NiGHT]DarkAngel
Участник форума
Регистрация: 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/* вот и весь запрос ... кавычки даже не к чему.
 
Ответить с цитированием

  #11235  
Старый 16.01.2010, 14:59
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


Отправить сообщение для AFoST с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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+--+/
__________________
Появляюсь редко. Важные дела в реале.
 
Ответить с цитированием

  #11236  
Старый 16.01.2010, 15:12
[NiGHT]DarkAngel
Участник форума
Регистрация: 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]"); 
Теперь инекция пройдет ?
 
Ответить с цитированием

  #11237  
Старый 16.01.2010, 15:17
AFoST
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме:
5571194

Репутация: 1934


Отправить сообщение для AFoST с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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"
__________________
Появляюсь редко. Важные дела в реале.
 
Ответить с цитированием

  #11238  
Старый 16.01.2010, 15:24
m0Hze
Он хакер.
Регистрация: 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'].""); 
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
Наеврное просто магические кавычки включены,что мозги то трахать людям ^_^
 
Ответить с цитированием

  #11239  
Старый 16.01.2010, 15:25
Ayowa
Новичок
Регистрация: 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..
 
Ответить с цитированием

  #11240  
Старый 16.01.2010, 16:17
v1d0qz
Познающий
Регистрация: 21.07.2007
Сообщений: 68
Провел на форуме:
947074

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

Вопросец, если через site.ru/phpmyadmin/ делать into outfile 'temp.txt', то куда по дефолту может скидываться файл, нету подручных средств чтобы проверить.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ