Как всё-таки обойти DEP?

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Как всё-таки обойти DEP?

Сообщение tyomitch » 23.11.2006 (Чт) 11:04

Когда включён DEP, коду в куче нельзя выполняться.
Вызвать на него VirtualProtect тоже невозможно.
А что делать?
Предположим, есть админские права, и нет желания реализовывать кучу самому.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.11.2006 (Чт) 11:17

По идее, есть список приложений, к которым не применяется DEP. Видимо, можно добавить в него свой экзешник...
Ну или http://www.securitylab.ru/_Exploits/2005/01/appB.c.txt :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.11.2006 (Чт) 11:33

Я уже нашёл не только этот код, но и прилагавшуюся к нему white-paper :-)
Там чел просто расковырял внутреннюю структуру кучи в WinXP, и сносит всю кучу нафиг.
Хочется чего-нибудь менее деструктивного. Неужели нет легального способа отключить DEP для отдельно взятого участка памяти?
Ведь если у меня уже есть право исполнять произвольный код, значит DEP от меня всё равно не спасёт -- в худшем случае я запишу свой код в DLL-ку, подгружу её и буду выполнять код оттуда. (Примерно так я сейчас и делаю.)
Изображение

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 01.12.2006 (Пт) 19:51

Вызвать на него VirtualProtect тоже невозможно.
Кто сказал? А если поставить адрес возврата на нее? :wink:
http://www.insidepro.com/kk/063/063r.shtml
А я все практикую лечение травами...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 01.12.2006 (Пт) 20:02

Twister писал(а):
Вызвать на него VirtualProtect тоже невозможно.
Кто сказал? А если поставить адрес возврата на нее? :wink:
http://www.insidepro.com/kk/063/063r.shtml

Ещё раз: Я читал все эти чёртовы статьи.
Я не пишу шеллкод.
У меня нет проблем с вызовом любых функций с любыми параметрами.

Мои проблемы в излишней интеллектуальности внутри этих функций.
Изображение


Вернуться в Раздел для Профессионалов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList