Как запустить nmap из chroot?

Parte 1:

findsolo usa reemplazo de texto.

Sí, si lo hiciste sin comillas, así:

find. -type f -exec sh -c "echo {}" \;

y un atacante pudo crear un archivo llamado ; echo owned, luego ejecutaría

sh -c "echo ; echo owned"

, lo que daría como resultado que el shell ejecute echoy luego echo owned.

Pero si agregó comillas, el atacante podría simplemente finalizar sus comillas y luego colocar el comando malicioso después creando un archivo llamado'; echo owned:

find. -type f -exec sh -c "echo '{}'" \;

, lo que daría como resultado que el shell se ejecute echo '', echo owned.

(si cambia las comillas dobles por comillas simples, el atacante también podría usar el otro tipo de comillas.)


Parte 2:

En find -exec sh -c 'something "$@"' sh {} \;, el shell no interpreta {}inicialmente, se ejecuta directamente con execve, por lo que agregar comillas de shell no ayudaría.

find -exec sh -c 'something "$@"' sh "{}" \;

no tiene ningún efecto, ya que el shell elimina las comillas dobles antes de ejecutar find.

find -exec sh -c 'something "$@"' sh "'{}'" \;

agrega comillas que el shell no trata de manera especial, por lo que en la mayoría de los casos solo significa que el comando no hará lo que usted quiere.

Hacer que se expanda a /tmp/foo;, rm, -rf, $HOMEno debería ser un problema, porque esos son argumentos para something, y somethingprobablemente no trata sus argumentos como comandos a ejecutar.


Parte 3:

Supongo que se aplican consideraciones similares para cualquier cosa que tome una entrada que no sea de confianza y la ejecute como (parte de )un comando, por ejemplo xargsy parallel.

1
11.06.2019, 11:18
1 ответ

Это означает, что в исходном файле netutil.ccв строке 3285 произошла фатальная ошибка кодирования программы.

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

-1
28.01.2020, 02:11

Теги

Похожие вопросы