Здравствуйте, astral_marine, Вы писали:
_>Исходные коды это хорошо, но собственно в чем заключается алгоритм поиска уязвимостей?
_>Такую уязвимость он найдет?
_>_>$id = $_GET['id'];
_>mysql_query("SELECT * FROM base_user WHERE id=" . $id);
_>
_>http://test.com/test.php?id=1
_>По какому принципу он определяет наличие или отсутствие уязвимостей?
А прочитать статью и посмотреть код, хотя бы по-диагонали?
Приведенный в статье пример — сканит html-код страницы, выдергивает из него все ссылки, и проходится по каждой из них, подставляя вместо "=" комбинацию "='", после чего — отсылает такой запрос и смотрит на полученный ответ. Если в ответе есть подстрока из внутреннего словаря с сообщением об ошибке SQL, то считается что инжект обнаружен, если нет — то на нет и суда нет.
Разумеется этого недостаточно для полноценного анализа не то что защищенности веб-приложений, но и поиска уязвимостей конкретного класса. Но во-первых — это же просто статья с концептом, а во-вторых — и слава Богу, что недостаточно.