Преобразование команд linux в кодировку URI / CGI. Лучше? - PullRequest
0 голосов
/ 07 января 2020

Я тестирую некоторые PHP приложения для инъекционных команд. Я должен преобразовать свои команды в кодированный формат URI / CGI. Мне интересно, есть ли лучший способ сделать это.

Когда я хочу включить пинг (чтобы проверить, действительно ли приложение выполняется из инъекции), я конвертирую его следующим образом.

hURL -X --esc ";ping localhost -c 1" | sed -e ‘s/\\x/\%/g’

Вот вывод.

%3b%20%70%69%6e%67%20%6c%6f%63%61%6c%68%6f%73%74%20%2d%63%20%31

Работает отлично. Код внедряется, и журналы показывают, что он обрабатывается, как ожидалось.

ВОПРОС: Есть ли лучший способ перейти на вышеприведенное. Я думаю, что я слишком усложняю вещи.

1 Ответ

0 голосов
/ 07 января 2020

Вы могли бы использовать готовую библиотеку для выполнения экранирования, может быть немного проще для глаз ...

$ echo ';ping localhost -c 1' | perl -ne 'use URI::Escape; print(uri_escape($_) . "\n");'                                                                                                              
%3Bping%20localhost%20-c%201%0A

Очевидно, что этот вывод не экранирует допустимые символы URL так что не уверен, что это полностью отвечает на ваш вопрос ...

...