- 39
- 60
SA-MP Public RCE PoCs
PoCs для публичных RCE уязвимостей SA-MP клиента.
PoCs для публичных RCE уязвимостей SA-MP клиента.
Что тут?
PoC для публичных уязвимостей в SA-MP.
Все уязвимости публичные. Часть закрыта в R4/R5, часть блокируется плагинами.
1. ApplyAnimation RCE (была найдена fzfzfz123)
SA-MP пропускает имя анимации до 255 байт. GTA SA копирует его в pOut[24] без проверки длины (CollectStringParameter case 14, опкод 0x812). 39 байт переполняют буфер на 15 байт, затирая SEH и return address.
2. ApplyActorAnimation RCE (была найдена fzfzfz123)
Та же уязвимость что и ApplyAnimation. CActor::PerformAnimation имеет идентичный стек и вызывает тот же опкод 0x812 через FunctionProcessCommand. Разница только в RPC ID (0xAD вместо 0x56) и требуется существующий актер. Шеллкод и смещения полностью совпадают.
3. ShowDialog RCE (автор EvgeN 1137 источник - SA-MP RCE - все, что вы хотели знать)
CDialog::GetTextScreenLength использует локальный буфер на 132 символа для подсчета ширины строки диалога, а получает до 264. После 132 символов перезаписывается return address.
SA-MP пропускает имя анимации до 255 байт. GTA SA копирует его в pOut[24] без проверки длины (CollectStringParameter case 14, опкод 0x812). 39 байт переполняют буфер на 15 байт, затирая SEH и return address.
2. ApplyActorAnimation RCE (была найдена fzfzfz123)
Та же уязвимость что и ApplyAnimation. CActor::PerformAnimation имеет идентичный стек и вызывает тот же опкод 0x812 через FunctionProcessCommand. Разница только в RPC ID (0xAD вместо 0x56) и требуется существующий актер. Шеллкод и смещения полностью совпадают.
3. ShowDialog RCE (автор EvgeN 1137 источник - SA-MP RCE - все, что вы хотели знать)
CDialog::GetTextScreenLength использует локальный буфер на 132 символа для подсчета ширины строки диалога, а получает до 264. После 132 символов перезаписывается return address.
Защита
1. Клиент 0.3.7 R5 (блокирует некоторые RCE, например ShowDialog)
2. Плагин MiTurboFix (by povargek) - закрывает все известные RCE на R1-R5.
3. Проверить все txd/dff через RWGuard
Последнее редактирование: