Показать сообщение отдельно
Старый 30.07.2010, 18:07   #6
Demon1X
 
Аватар для Demon1X
 
Регистрация: 10.07.2010
Сообщений: 56
Репутация: 5
По умолчанию

Цитата:
1) php magic_quotes_gpc=On - нет (и лучше не использовать, т.к. портит данные уже на входе)
как обходить?
Цитата:
2) mysql_real_escape_string() - нет, но уже лучше, поможет только при правильном использовании. При использовании обязательно следить за тем, чтобы данные после обработки этой функцией не менялись и сразу шли в запрос.
имелся ввиду такой запрос если делать
PHP код:
$var=mysql_real_escape_string($_GET['var']);
mysql_query="SELECT * FROM `table` WHERE id='".$var."';"
сначала слешируем кавычки функцией, затем в запросе заключаем переменную в одинарные кавычки.
Цитата:
Потому что браузер воспринимает знак решётки как служебный символ, используй код знака решётки.
в mysql по запросам SELECT ASCII('#'); результат 35. SELECT HEX('#'); результат 23.
с браузера делаю так запросы
Код:
http://hacker/sqlinjection.php?id=1'0x23
http://hacker/sqlinjection.php?id=1'%35
все равно вываливает ошибку, что не так?
Цитата:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5'' at line 1
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\www\site\hacker\www\sqlinjection.php on line 27
Цитата:
Порой инъекция есть, а вывода на страницу нет.
это называется слепая инъекция?
Demon1X вне форума   Ответить с цитированием