Fuzzer 구현 시 First-chance Exception과 Second-chance Exception
2016. 1. 7. 09:39
First-chance Exception / Second(last)-chance Exception
프로그램에서 예외가 발생했을 때 디버거에 붙인 상태에서 보면 First chance Exception 이 발생하고,
그 상태에서 한번 더 진행을 하면 Second chance Exception 이 발생한다. 디버깅 중인 상태에서는
디버거가 예외에 대한 감지를 먼저 하게 되는데, 이로 인해 프로그램이 아닌 디버거가 발견한 예외 상태를
First chance Exception 이라 한다.
간혹 퍼징을 하다 First chance Exception 이 발생한 것을 보고 디버거 없이 해당 파일을 실행해보면
실제로는 예외가 발생하지 않는 경우가 있는데, 이러한 경우는 Second chance Exception 이 발생했을 때
프로그램이 예외 처리(SEH)를 수행하고 있다는 뜻이다.
즉 퍼징을 할 때에도 디버깅 상태이므로 First chance Exception 은 넘어가는 것이 좋다는 것.
조금 더 자세한 사례를 알아볼 필요가 있을 듯 하다.
'Bug Hunting' 카테고리의 다른 글
ActiveX 메소드 powershell 로 확인하기 (0) | 2017.05.25 |
---|---|
[집필 서적 안내] 윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇 (9) | 2016.01.13 |
Bug Hunting (1) - Exploitable 취약점 분류 (0) | 2014.04.23 |