Ваш алгоритм в большей степени относится к аудиту веб-сервера, а не сайта.
Если же брать конкретный сайт и есть
доступ к исходникам, то алгоритм следующий (для PHP)
1) Открываем исходники в IDE
2) Делаем поиск вызова функций типа eval и проверяем какие данные передаются в эти функции
3) Делаем поиск обращения к переменным из массивов POST, GET, REQUEST и проверяем как данные фильтруются и используются
4) Делаем поиск move_uploaded_file, file_get_contents и проверяем как фильтруются данные передаваемые в функцию
Если же
доступа к исходникам нет, то алгоритм следующий
1) Пытаемся определить движок, например, тут
2ip.ru/cms/
1.1) Пытаемся Определяем версию движка
1.2) Чекаем наличие багов в данном движке
2) Пытаемся найти админку (Admin Finder)
2.1) Чекаем стандартные пары логин-пароль
3) Чекаем наличие папки svn
3.1) Делаем анализ исходников
4) Проверяем наличие дампов (папка dump, файлы dump.sql, dump.zip и т.п.)
4.1) Проверяем наличие паролей в архиве
4.2) Делаем анализ исходников
5) Составляем список уникальных URL (http://example.com/q/1 и
example/q/2 — не уникальные, но
example/q/1 и
example.com/p/2 — уникальные).
5.1) Если включено ЧПУ пытаемся подобрать имя GET переменной
6) В адресную строку летят кавычки, преобразование переменных в массив (если удалось обнаружить имя GET переменной), HTML теги
7) Проверяются cookie сайта. При наличии кукисов установленных самим сайтом меняем значения на свои (опять кавычки, html теги
8) При наличии на сайе форм (комментарии, публикация статей, заметок, строк поиска и т.п.) с последующим выводом введенных данных на странице производится проверка на наличие XSS
9) Тестируется работа сайта с кривым именем браузера