
22.09.2008, 03:37
|
|
Познающий
Регистрация: 18.08.2008
Сообщений: 45
С нами:
9331083
Репутация:
64
|
|
Немного усовершенствовал =)
Код:
Etalon password: AAAABBBB
[....]
Password: %p:%p:%p:%p:%p:%p:%p:%p:%p:%p:%p:%p:%p
0xa:(nil):0x41:0x7f86618356f0:0xa:0x7fff69875360:0x7fff698753c4:0x4242424241414141:(nil):(nil):(nil):(nil):(nil) - wrong pasword!
Password:
Получаем содержимое стэка через ошибку форматной строки. С помощюь gdb определяем, что 0x7fff69875360 указывает на Etalon password ( виден дальше в стэке - 0x4242424241414141 ), а т.к. это 6-й аргумент, то вытащить его из стэка можно с помошью спецификатора "%6$s":
Код:
Etalon password: qwertyzaq1234
[....]
Password: %6$s
qwertyzaq1234 - wrong pasword!
Password: qwertyzaq1234
You're COOl hacker!!!
Компилил gcc linux x86_64. Возможно в других систаемах/компиляторах вместо "%6$s" что-то другое будет.
http://void.ru/content/760 - статья про format string error.
|
|
|