...
- 해당 프로그램에서 취약성을 이해하기 위해 ACCOUNT 구조체에 대한 이해가 필요합니다.
- 해당 구조체는 전역 변수로 선언되어 있습니다.
- 해당 프로그램은 3개의 ACCOUNT 구조체를 사용합니다.
- 첫번째 구조체에는 'Admin' 계정 정보가 저장되어 있습니다.
- 2,3번째 구조체는 사용자가 생성한 계정의 정보가 저장됩니다.
- 첫번째 구조체에는 'Admin' 계정 정보가 저장되어 있습니다.
- 해당 구조체는 전역 변수로 선언되어 있습니다.
Panel | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- House of lore 취약성은 다음과 같은 Fake chunk가 필요합니다.
Panel |
---|
- 다음과 같이 House of lore 취약성에 필요한 Fake chunk를 생성할 수 있습니다.
- delAccount() 함수를
- 이용해 gAccount[
- 1].fd 영역에 Free chunk의 Head 주소를 저장 할 수 있습니다.
Panel | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Code Block |
---|
struct ACCOUNT{ long state; long number; struct IDPW *fd; long bk; }; |
...