Переведено для codeby. Net


Download 0.92 Mb.
Pdf ko'rish
bet16/36
Sana09.05.2023
Hajmi0.92 Mb.
#1449564
TuriРеферат
1   ...   12   13   14   15   16   17   18   19   ...   36
Bog'liq
эксплуатация систем arm linux AFANX

0x0000843c. Является ли точка, в которой функция возвращается к адресу,
содержащемуся в регистре ссылки регистра, и именно здесь мы сможем
изменить ход выполнения программы.
Возвращаясь к преамбуле, регистр ссылки, который содержит адрес возврата,
временно хранится в стеке (0x00008418). Благодаря функции strcpy() мы можем
перезаписать стек нашей строкой, выйдя за пределы пространства, доступного
для char buff[10]. Таким образом, сразу после выполнения strcpy() стековый
аппер выглядит по-другому.
До начала работы:
Breakpoint 1, 0x00008428 in vuln ()
(gdb) nexti
0x0000842c in vuln ()
(gdb) nexti
0x00008430 in vuln ()
(gdb) nexti
0x00008434 in vuln ()
(gdb) x/9x $sp
0xbeaca778: 0xbeaca788 0xbeacaa22 0x00000000 0x00008330
0xbeaca788: 0x00000000 0x00000000 0xbeaca7b4 0xbeaca7a0
0xbeaca798: 0x00008470
(gdb)
В GDB, с помощью команды x/9x $sp, можно вывести девять
шестнадцатеричных слов (32 бита), начиная с адреса, содержащегося в регистре
указателя стека. Мы можем легко определить адрес возврата (последнее слово:
0x00008470).
Непосредственно перед адресом возврата хранятся указатель кадра
(0xbeaca7b4) и указатель стека (0xbeaca7a0) вызывающей функции. Эти два
адреса обозначают верхнюю и нижнюю границы стекового фрейма функции, в
данном случае main().
28


Также хорошо виден буфер, состоящий из 10 нулевых байтов, выделенных
ниже:
0x00008330 0x00000000 0x00000000 0xbeaca7b4
Мы построили нашу строку таким образом, чтобы перезаписать одинаковыми
группами букв различные адреса, присутствующие в стеке, чтобы их можно
было легко различить:
(gdb) nexti
0x00008438 in vuln ()
(gdb) x/9x $sp
0xbeaca778: 0xbeaca788 0xbeacaa22 0x00000000 0x41418330 0xbeaca788: 0x424242
0xbeaca798: 0x46464646
(gdb)
Можно увидеть новые значения для адресов: указателя кадра (0x44444444),

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   36




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling