![]() |
VarTryer
Вложений: 1
VarTryer v. 1.0 [console]
Скрипт для быстрой проверки php-скриптов на баги [фаззер] 1. Принцип работы Запускаем скрипт, по подсказкам вводим нужные данные. Запрашивается хост (например, localhost). Запрашивается путь к проверяемому файлу и сам файл (например, /files/doc/index.php) и запрашивается путь и файл, в котором хранятся переменные, которые будут участвовать в проверке($ перед переменной обязательно, например $variable). Пример файла с переменными Цитата:
Цитата:
2. Требования Код написан на php с ООП(собственно, учился ООП тут =)). Требуется php5+ и включенные сокеты. 3. Назначение 1)Быстрый анализ локального php-скрипта на баги. Ставим проверяемый скрипт на сервер. Вводим хост и путь к файлу. На запрос пути к файлу с переменными указываем тот же файл, что висит на сервере. Скрипт пропарсит проверяемый файл на переменные и далее пойдет проверка. 2)Удаленный анализ на php-баги. Указываем удаленный хост и путь к сприпту. Указываем путь к файлу с набором переменных. Смысл в том, что если на проверяемом хосте включен register_globals = on и в скрипте есть ошибки, связанные с переменными, то скрипт их должен выявить. 3. Установка Весь скрипт состоит из главного файла и нескольких подключаемых классов. Надо лишь разархивировать архив в одну папку. (с) AFoST 10.02.2009 4:10 |
Цитата:
|
Цитата:
А по поводу этого конкретного скрипта, можно делать как всякие ХСпайдеры, и прочие SSS: Т.е. собирать на страницах все линки, все формы и просто экспериментировать с установкой из значений (просто обычный фаззинг). P.S. То что сделал ТС смахивает на мой статический анализатор, и по сути делает тоже самое. Но всё равно в итоге автору придётся сделать тоже, что и было сделано у меня - разбирать синтаксическое дерево, многие конструкции регекспом не разберёшь (ну т.е. разберёшь конечно, но трудоёмкость неоправданная). P.S.S. Так же без AST нельзя выявить зависимости переменных друг от друга, и поиск будет слепым. Пример: if($_GET[a]==1) eval($_GET[b]); |
Цитата:
|
Qwazar, а идею по хспайдеру на пхп которую ты подал, я уже подхватил, на следующей неделе наверное выложу! :)
|
Цитата:
|
>>Скрипт для быстрой проверки php-скриптов на баги.
это фаззером ховется... |
Цитата:
А далее скрипт тебя информирует если получает результаты выбивающиеся из полученного распределения. Вроде так. |
Цитата:
Код:
if($a==1) echo "вы ввели лажу";З.Ы. Я не критикую, просто пытаюсь понять. |
Цитата:
$query = "...."; $result = mysql_query($query) or exit($query); |
| Время: 21:25 |