По следам MS IE OBJECT tag exploit'а


           

time отладчик показывает обрушение, произошедшие


00E552CC  FFFFFFFF         0006DBB8   00000007

00E552D0  00000000         0006DBBC   000BA054

00E552D4  00E55524         0006DBC0   00000001

00E552D8  00000652         0006DBC4   000B9EE8

00E552DC  00000000         0006DBC8   000B0001

Листинг 11 just-in- time отладчик показывает обрушение, произошедшие внутри GetDocPtr



Рисунок 9 just-in-time отладчик показывает обрушение, произошедшие внутри GetDocPtr

Нажав <Shift-F9> мы можем проигнорировать исключение и продолжить выполнение программы, только ни ей, ни нам лучше от этого не станет, ведь структуры данных превратились в бессмысленную мешанину байт и хрен его знает в какой момент они были разрушены.

Приходится реконструировать скелет динозавра буквально по "косточкам". Прежде всего нам необходимо выяснить куда указывал ECX в момент вызова GetDocPtr(). Смотрим на стек — на его вершине находится адрес возврата в материнскую процедуру 75ACC4C8h. Ходим сюда дизассемблером (или самим отладчиком по <CTRL-G>, 75ACC4C8h) и видим, что перед вызовом функции GetDocPtr регистр ECX был сохранен в регистре ESI:

.text:75ACC4C1             mov    esi, ecx

.text:75ACC4C3             call   GetDocPtr@CElement@@QBEPAVCDoc@@XZ;CElement::GetDocPtr()

.text:75ACC4C8             mov    si, [esi+6Ch]

Листинг 12 исследование материнской функции, вызывающей GetDocPtr

Следовательно, в момент сбоя регистр ESI указывает на структуру, из которой загружаются регистры ECX и EAX. Тройным нажатием <TAB> переходим в окно дампа, нажимаем <CTRL-G> и вводим регистр ESI или его непосредственное значение 00E552B0h (см. листинг 11 или рис. 9). Это и есть та структура данных, с которой мы уже сталкивались в дизассемблере, и которая, судя по карте памяти, лежит где-то в куче (на самом деле, OllyDbg не умеет работать с кучей и необходимо иметь определенный исследовательский опыт, чтобы выделить блоки динамической памяти из общей массы, soft-ice показал бы намного больше информации, но мы уже решили использовать Olly, так что не будем менять коней на переправе).


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий