Синтаксическая ошибка BASH nc -vvv 192.168.190.130 80 GET /bash: синтаксическая ошибка рядом с неожиданным токеном `(' - PullRequest
0 голосов
/ 10 декабря 2018

Это запрос, который я генерирую для отработки LFI.

nc -vvv 192.168.190.130 80 GET /<?php system($_GET['cmd']);?>

Это ошибка, которую я получаю:

bash: синтаксическая ошибка рядом с неожиданным токеном `('

Ток с использованием UBUNTU 18.04.

1 Ответ

0 голосов
/ 10 декабря 2018

1) Вам необходимо указать свои параметры в команде, если они имеют символы, которые интерпретируются bash как специальные символы.Одиночные кавычки лучше всего избегать строки, в противном случае вы можете использовать обратную косую черту для экранирования отдельных символов.Остерегайтесь вложенных кавычек того же типа.

Итак:

nc -vvv 192.168.190.130 80 'GET /<?php system($_GET["cmd"]);?>'

2) LFI так не работает.Код PHP должен быть в теле файла, который вы получаете, а не в имени файла.Имя файла не анализируется для тегов <?php ... ?>.

Так что это просто попросит сервер дать ему файл с буквальным названием < из корневой папки веб-сайта, а символ?будет проанализирован как начало некоторых параметров.

3) Даже если он каким-то образом обнаружит и запустит код PHP как часть имени файла, что будет $ _GET ["cmd"]?Вы не передали это как параметр GET!

4) Если это не то, что вы запускаете, а содержимое PHP-скрипта, который вы вызываете на веб-сервере ... вв этом случае вы пытаетесь выполнить какое-то удаленное выполнение кода ... затем вы передаете вывод скрипта, который вы указали в качестве параметра GET (не делайте этого, это очень небезопасно), впуть, который вы получаете от другого сервера через системный вызов netcat.В таком случае, почему бы просто не сделать что-то вроде:

 <?php file_get_contents('http://192.168.190.138/system($_GET["cmd"])); ?>

... вместо вызова netcat?


В целом, я боюсь, что это похоже на то, как будто кто-то пытается смешаться вместедве или три вещи, которые они нашли в Интернете, не понимая, как работает какая-либо из них.

Но способ понять их - это делать точно так же, как вы: читать документы, играть скоманды, и каждый раз, когда у вас появляется ошибка, задавайте вопросы и копайте глубже, чтобы выяснить, что пошло не так.

В настоящий момент у вас есть фрактальная ошибка .Неправильно на слишком многих слоях, чтобы погрузиться в исправление, только некоторые из которых я коснулся.Я, честно говоря, даже не могу понять, что вы пытаетесь делать .

Но это нормально, пока вы узнаете о каждом уровне неправоты, когда сталкиваетесь с ним.,Это то, как мы все учимся, к сожалению: D

...