Caixa de ferramentas otimizada para CTFs
Sobre pwntools
Se você está usando-o para escrever exploits, ou como parte de outro projeto de software irá ditar como você usá-lo.
Historicamente pwntools foi usado como uma espécie de exploit-writing DSL. Simplesmente fazerem uma versão anterior do pwntools traria todos os tipos de efeitos colaterais agradáveis.
from pwn import *
Ao redesenhar pwntools para 2.0, notamos dois objetivos contrários:
- Gostaríamos de ter uma estrutura de módulo python "normal", para permitir que outras pessoas se familiarizassem com pwntools rapidamente.
- Gostaríamos de ter ainda mais efeitos colaterais, especialmente colocando o terminal em modo raw.
Para tornar isso possível, decidimos ter dois módulos diferentes.
pwnlib
Seria o nosso módulo Python agradável, limpo, enquanto pwn
seria usado durante CTFs.
pwn
- Caixa de ferramentas otimizada para CTFs
Como afirmado, gostaríamos também de ter a capacidade de obter muitos desses efeitos colaterais por padrão. Essa é a finalidade deste módulo. Ele faz o seguinte:
- Importa tudo a partir do toplevel
pwnlib
juntamente com funções de um monte de submódulos. Isto significa que se você fizer ou , você terá acesso a tudo o que você precisa para escrever um exploit.import pwn
from pwn import *
- Chamadas
pwnlib.term.init()
para colocar seu terminal no modo raw e implementa a funcionalidade para torná-lo aparecer como ele não é. - Definir o
pwnlib.context.log_level
a “info” . - Tenta analisar alguns dos valores em
sys.argv
e cada valor que consegue analisá-lo remove.
pwnlib
- Biblioteca de python normal
Este módulo é nosso "limpo" python-code. Como regra geral, não pensamos que a importação
pwnlib
ou qualquer um dos submódulos deve ter quaisquer efeitos colaterais significativos (além de caching).
Para a maior parte, você também irá obter apenas os bits que você importa. Você, por exemplo, não tem acesso a
pwnlib.util.packing
simplesmente fazendo .import pwnlib.util
Embora existam algumas exceções (como
pwnlib.shellcraft
), que não se encaixam muito os objetivos de ser simples e limpa, mas eles ainda podem ser importados sem efeitos colaterais implícitos .
Comentários
Postar um comentário