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