• XSS.stack #1 – первый литературный журнал от юзеров форума

Techniques NOPs-Slide - срезка нопов 0x90

weaver

31 c0 bb ea 1b e6 77 66 b8 88 13 50 ff d3
Забанен
Регистрация
19.12.2018
Сообщения
3 301
Решения
11
Реакции
4 622
Депозит
0.0001
Пожалуйста, обратите внимание, что пользователь заблокирован
Nops-slide - это старинная техника, придуманная с целью облегчения процесса эксплуатации. Суть данного метода заключается в том, что при размещение в памяти команды NOP процессор пропускает этот участок кода и переходит к выполнению следующей инструкции.

В старину, в реверсе обычно когда хотят обойти какую-либо проверку в коде, этот участок кода затирали нопами. К примеру проверка лицензии или же совершенно иной код, который выполняет какие-либо другие действия - затирается нопами, чтобы этот код не выполнился.

Ассемблерная команда NOP обозначает No operand - нет операнда, и она ничего не делает, поэтому когда процессор встречает эту команду он переходит к выполнению следующей команды (инструкции), но при этом размер этой команды равен 1 байту.

Опкод ассемблерной команды NOP в шестнадцатеричной системе счисления равен 0х90.

Если в реверсе мы затираем не нужный код последовательностью байт 90 90 90 90 90 90 90 90 ... чтобы он не выполнился, то сплойт-деве этот трюк нужен для того, чтобы забить память мусором и скатится словно зимой на санках с горки к адресу нашего шеллкода. Этим путем мы наверняка попадем на адрес шеллкода.

Nops-Slide + Shellcode

\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" + шеллкод

Обычно около 50 байт вполне хватает, чтобы наверняка скатиться на шеллкод.

От сюда и название техники ноп-"слайсы", ноп-"сани", кто как называет.

В arm будет работать инструкция

mov r0, r0

итд. аналог nop, которая занимает 4 байта.

xss.pro (c) by weaver
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх