Дебаг и крэш-дамп
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Дебаг и крэш-дамп - 2009-07-31 10:39:28.986666
|
|
|
pod_edge
Сообщений: 26
Оценки: 0
Присоединился: 2009-06-25 16:47:08.883333
|
Я обнаружил баг с зацикленным (а)синхронным XMLHttp в разных браузерах. Если создать страницу с таким кодом: <html>
<head>
<script>
function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
</script>
<script>
function getXmlHttpHACK(){
var xmlhttp = getXmlHttp()
xmlhttp.open('GET', 'drupal', false);
xmlhttp.send(null);
if(xmlhttp.status == 404) {
getXmlHttpHACK();
}
}
</script>
<script>
var xmlhttp = getXmlHttp()
xmlhttp.open('GET', 'drupal', true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 404) {
getXmlHttpHACK();
}
}
};
xmlhttp.send(null);
</script>
</head>
</html> и открыть ее, то: - Internet Explorer 7/8 через несколько секунд покажет сообщение "Stack overflow at line:23" и прекратит обработку страниы - Firefox 3.5 и Chrome нормально справляются - Opera 10 вылетает с крэшем - Apple Safari виснет Вопрос состоит в следующем: поскольку это переполнение стека, то надо определить насколько реально выполнение шелла. На sla.ckers.org мне посоветовали поставить WinDbg + расширение к нему !exploitable и, сделав дамп крэша, проанализировать его. Когда я пытаюсь начать дебаг программы, то она "виснет", т.е. ее невозможно контролировать => я не могу загрузить страницу в браузер. Как можно с помощью WinDbg сделать дебаг или дамп крэша "неуправляемой" программы? Как сказать ей, что делать?
|
|
|
RE: Дебаг и крэш-дамп - 2009-07-31 12:33:05.793333
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Я проверил на 7 осле, опера 9.63, safari 4.0.2 Везде никаких намеков на глюки. Крешдампы насколько я знаю генерируются при БСОДах и находядтся в дире %Systemroot%\Minidump Само приложение (насколько мне известно) не сбрасывает кору, если в нем это не заложено (читай если в нем нет своего обработчика исключений). ЗЫ. Если не прав поправте.
|
|
|
RE: Дебаг и крэш-дамп - 2009-07-31 19:34:47.046666
|
|
|
pod_edge
Сообщений: 26
Оценки: 0
Присоединился: 2009-06-25 16:47:08.883333
|
quote:
Я проверил на 7 осле, опера 9.63, safari 4.0.2 Везде никаких намеков на глюки. забавно) интересно как ты проверял? у меня все браузеры начинают неимоверно жрать ресурсы ЦП и памяти, а опера (10) даже в конце крэш-лог прилагает quote:
Крешдампы насколько я знаю генерируются при БСОДах и находядтся в дире %Systemroot%\Minidump насколько я понимаю, это дампы ядра quote:
Само приложение (насколько мне известно) не сбрасывает кору, если в нем это не заложено (читай если в нем нет своего обработчика исключений). поэтому то и нужен дебаггер в WinDbg есть такая штука, просто я не могу понять, как приаттачиться к процессу и при это иметь возможность управлять им?
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-01 13:07:41.590000
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Как проверял? создал хтмл файл с указанным содержанием. открыл в каждом браузере (по очереди). подождал. проверил не повис ли комп или браузер. все в порядке. Ты спросил про крешдампы вот я тебе и ответил прокрешдампы. Кстати есть возможность скидывать не только память ядра. Win+Break->дополнительно-> загрузка и восстановление->Параметры->Запись отладочной информации. Там есть варианты малый дамп памяти(64 кб), память ядра, полный дамп памяти. На прикладном уровне все же советую ollydbg. Но если переолнение ниже идет, то ясно нужен уже ядерный отладчик.
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-01 20:12:47.303333
|
|
|
pod_edge
Сообщений: 26
Оценки: 0
Присоединился: 2009-06-25 16:47:08.883333
|
чтобы эта штука сработала, надо запускать на виртуальном хосте. попробуй создать хост в денвере (если у тебя винда) или на чем-нибудь типа XAMPP (если *nix). просто html не прокатит, п.ч. там идут внутридоменные запросы а как в OllyDbg сделать дамп?
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-03 12:07:15.446666
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Дамп в ольке? Оч просто. Качаешь плагин ollydump. Запускаешь процесс и в меню плагинов выбираешь ollydump и дампишь. Вот только тебе нужен дамп именно во время обрушения. Там по идее должно выскочить исключение типа access violation. Вот тогда и надо дампить.(хотя может и не при первом).
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-03 13:39:15.180000
|
|
|
pod_edge
Сообщений: 26
Оценки: 0
Присоединился: 2009-06-25 16:47:08.883333
|
спасибо, разобрался (правда с WinDbg) сделал дамп, проанализировал его для Opera этот бага - probably exploitable
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-06 14:40:24.556666
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
Странно. Попробывал из-под апача. (у меня своя связка). Все те же браузеры и ноль реакции. Только сорец вываливается и все. Какие модули у тебя апач грузит?
|
|
|
RE: Дебаг и крэш-дамп - 2009-08-17 01:14:54.610000
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
брррр Уважаемы а вы первый раз слышите о том что этот форум коверкает теги, заменяя некоторые английские буквы на русские Так что переписываем ручками)))
|
|
|
|
|