Исходные коды это хорошо, но собственно в чем заключается алгоритм поиска уязвимостей?
Такую уязвимость он найдет?
$id = $_GET['id'];
mysql_query("SELECT * FROM base_user WHERE id=" . $id);
http://test.com/test.php?id=1
По какому принципу он определяет наличие или отсутствие уязвимостей?
Здравствуйте, astral_marine, Вы писали:
_>Исходные коды это хорошо, но собственно в чем заключается алгоритм поиска уязвимостей?
_>Такую уязвимость он найдет?
_>_>$id = $_GET['id'];
_>mysql_query("SELECT * FROM base_user WHERE id=" . $id);
_>
_>http://test.com/test.php?id=1
_>По какому принципу он определяет наличие или отсутствие уязвимостей?
А прочитать статью и посмотреть код, хотя бы по-диагонали?
Приведенный в статье пример — сканит html-код страницы, выдергивает из него все ссылки, и проходится по каждой из них, подставляя вместо "=" комбинацию "='", после чего — отсылает такой запрос и смотрит на полученный ответ. Если в ответе есть подстрока из внутреннего словаря с сообщением об ошибке SQL, то считается что инжект обнаружен, если нет — то на нет и суда нет.
Разумеется этого недостаточно для полноценного анализа не то что защищенности веб-приложений, но и поиска уязвимостей конкретного класса. Но во-первых — это же просто статья с концептом, а во-вторых — и слава Богу, что недостаточно.
Из статьи ясно, чтобы не было уязвимостей sql injection, не надо писать сайты на классическом ASP и PHP.
Здравствуйте, vip_delete, Вы писали:
_>Из статьи ясно, чтобы не было уязвимостей sql injection, не надо писать сайты на классическом ASP и PHP.
Откуда такой вывод?
Здравствуйте, vip_delete, Вы писали:
_>Из статьи ясно, чтобы не было уязвимостей sql injection, не надо писать сайты на классическом ASP и PHP.
А чтобы не было memory leaks, не надо писать на C/C++. Да и на остальных языках тоже. С кривыми руками лучше вообще ничего не писать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>