Repositorio com um simples bot do telegram com uma vulnerabilidade de injection.
Este projeto demonstra um bot simples do Telegram implementado em Python usando a biblioteca python-telegram-bot
. O bot inclui uma vulnerabilidade na funo echo
, que avalia qualquer entrada de texto recebida, potencialmente levando a ataques de injeo de cdigo.
Siga estas etapas para executar o projeto localmente:
Clone o repositrio:
git clone https://github.com/fguisso/python-injection
Instale as dependncias necessrias:
pip install python-telegram-bot
Obtenha um Token de Bot do Telegram:
/newbot
para iniciar o processo de criao de um novo bot.Defina o Token do Bot como uma Varivel de Ambiente:
export TOKEN_TELEGRAM="seu_token_do_bot_aqui"
Execute o script Python:
python main.py
Interaja com o bot no Telegram.
O bot est configurado para receber mensagens contendo operaes matemticas como entrada. Essas operaes so resolvidas no comando echo
, que retorna o resultado da operao como resposta.
Por exemplo, ao enviar a mensagem 2 + 2
para o bot, ele retornar 4
. Isso pode ser til para realizar clculos simples diretamente no Telegram.
As vulnerabilidades de injeo esto entre as principais preocupaes de segurana de aplicativos da web. De acordo com o OWASP Top 10, a injeo de cdigo (como SQL injection, XSS, Command Injection e outras) uma das principais ameaas para a segurana dos aplicativos.
No contexto deste bot, a vulnerabilidade de injeo ocorre na funo echo
, que utiliza a funo eval
para evoluir qualquer entrada de texto recebida. Isso permite que possveis atacantes executem cdigo arbitrrio enviando uma entrada maliciosa. Exploits so os cdigos maliciosos usados para atacar o sistemas e neste cenario estes so alguns exemplos de exploits que voc pode enviar para seu bot que sero executados na maquina onde o seu bot esta rodando:
Mensagem para o bot | Resultado do exploit |
---|---|
os.getenv("TOKEN_TELEGRAM") |
Acesso a variveis de ambiente |
os.system("rm -rf /") |
Execuo de comandos do sistema operacional, no caso, rm vai deletar todos os arquivos do sistema. |
import malicious_module |
Importao de mdulos maliciosos |
__import__("malicious_module").malicious_function() |
Execuo de cdigo malicioso. |
Os usurios so encorajados a testar esses exploits em seu prprio bot e observar os resultados. No entanto, tenha cuidado ao usar exploits, pois eles podem causar danos ao sistema.