일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- System
- Spring Framework
- webhacking
- 운영체제
- 정보보안기사 실기
- 네트워크
- 해킹
- hacking
- Shell code
- Buffer Overflow
- LOB
- SQL
- 웹해킹
- Operating System
- BOF
- 정보처리기사 실기
- PWN
- Pwnable.kr
- Payload
- OS
- Lord of BOF
- 정보보안기사
- pwnable
- system hacking
- wargame
- 워게임
- Spring MVC
- Spring
- webhacking.kr
- stack overflow
- Today
- Total
목록System 보안 (2)
DongDD's IT
[LOB] Level5 orc Problem 이번 문제도 들어가보니 wolfman 실행 파일 하나와 wolfman.c 소스 코드 파일 하나가 주어져있었다.저번 문제 소스 코드의 소유가 root로 되어있었는데 이번 문제 역시 root로 되어있는 걸로 보아 아마 저번 문제 부터 쭉 소스 코드를 수정할 수 없게 만든 것 같다.일단 소스 코드를 먼저 확인해보았다. 12345678910111213141516171819202122232425262728#include #include extern char **environ; main(int argc, char argv[]){ char buffer[40]; int I; if(argc
Format String Bug Format String - 변수의 출력 형식을 정해주는 인자를 의미한다.- %d(정수), %f(실수), %s(string), %p(pointer), %x(16진수) 등이 있다.- Format string bug에 주로 사용되는 인자-> %n : *int(쓰인 총 바이트 수)를 저장하는 인자-> %x : 16진수로 값을 알아오는데 사용되는 인자-> %p : 0x를 붙인 16진수 값으로 출력하는데 사용되는 인자 Process(printf)- 함수를 시작하기 전 함수에 인자로 사용된 값을 stack에 넣는다.- printf 함수를 시작하면 함수 인자로 받은 argv[1]부터 먼저 읽는다.- 인자를 읽다가 Format string을 만나게 되면 POP한 뒤 ESP가 가리키는 값..