시스템 해킹
[Pwnable.xyz - PvP]
Execute 문제파일을 실행하면 프로그래밍적으로 취약한 프로그램이라고 하고 각각의 menu를 보여준다. Analyze 보호기법을 보면 canary랑 nxbit만 켜져있다. RELRO가 full이 아니므로 got overwrite가 가능하지 싶다. main while문에 switch를 통해 분기되어있는 형태이다. 각각의 case에서 어떤 동작을하는지 알아보자. Case0: 프로그램을 종료한다. Case1 : dword_6026A8에 값이 들어있는 경우 short_append함수를 호출하고 아닌경우 메시지가 비어있다고 출력한다. Case2 : dword_6026A8에 값이 없는 경우 (정확히는 0) long_append함수를 호출하고 dword_6026A8에 1을 대입해준다. 값이 존재하는경우 v3에 들어..
[Hack CTF – x64 Simple_size_BOF]
Hack CTF – x64 Simple_size_BOF Execute 먼저 문제 파일을 실행 하면 특정 address값을 leak해조고 문자열을 입력받는다. 실행시마다 leak되는 값이 달라지는 것을 확인 할 수 있다. Analyze 아무런 보호기법도 걸려있지 않은 것을 확인할 수 있다. 특히 nxbit가 풀려있으므로 shellcode를 올려서 shell을 얻을 수 있다. Main Line 6 : s변수의 내용을 puts함수를 통해 출력한다. Line 7: printf함수를 통해 v4변수의 address를 leak해준다. Line 8 : gets함수를 통해 v4변수에 입력을 받는다. gets함수는 입력값의 길이를 검증하지 않기 때문에 buffer overflow를 발생 시킬 수 있을 것이다. Solve ..