분류 전체보기41 09 보호되어 있는 글 입니다. 2023. 4. 14. 05 보호되어 있는 글 입니다. 2023. 3. 17. 04 보호되어 있는 글 입니다. 2023. 3. 10. Return to Shellcode 보호되어 있는 글 입니다. 2023. 2. 3. [코드엔진] Basic RCE L04 문제 풀이 실행파일을 그냥 열었을 땐 "정상"이라고 나오지만 문제에서 나왔듯이 디버거 프로그램을 탐지하는 기능을 가지고 있어 올리디버거로 열면 "디버깅 당함"으로 나오는 걸 알 수 있다. BP(F2) 설정 후 (F8)을 눌러 하나씩 실행해 보니 해당 call 함수에서 "디버깅 당함"이 나오는 걸 확인할 수 있었다. 함수 찾기 IsDebuggerPresent로 들어감 (F8)을 눌러 하나씩 실행시켜 보면 CALL 04.00408190을 지날 때마다 "디버깅 당함"이 하나씩 출력되는 것을 알 수 있다. 따라서 우리가 찾는 디버깅 탐지 함수는 IsDebuggerPresent이다. 1. 함수를 nop으로 바꿔주기 2. eax 1을 eax 0으로 바꿔주기 *IsDebuggerPresent 함.. 2023. 1. 20. Return Address Overwrite 문제 풀이 문제 코드 분석버퍼 크기는 0x28 인데 scanf 함수로 버퍼에 입력을 버퍼 크기보다 더 하게 되면 버퍼 오버플로 발생0x28 + SFP 덮고 + RET 에 쉘을 따는 함수인 get_shell 주소값을 넣어주면 될 거 같다. 익스플로잇 코드 실행 결과 2022. 12. 30. basic_exploitation_001 문제 풀이 문제 코드 분석 [22] read_flag() 함수를 통해 플래그를 얻을 수 있다. [28] buf의 크기 = 128byte [32] 취약한 *gets 함수 사용 *gets : 주어진 공간의 길이와 상관없이 사용자가 입력한 만큼의 값이 메모리에 들어간다. (버퍼 크기보다 더 많이 입력 가능) 문제 풀이 1. read_flag() - info func 명령어로 함수(read_flag())의 주소값을 알아낸다. read_flag()의 주소값 : 0x080485b9 2. 프로그램의 취약점인 *버퍼 오버플로우를 이용하여 ret로 함수(read_flag())를 실행 *버퍼 오버플로우 : 할당된 메모리 공간을 초과하게 만들어서 악성코드를 실행하거나 비정상적으로 종료하게 만든다. - 메모리 구조 : buf(128) .. 2022. 12. 16. welcome 문제 풀이 문제 접속만 했는데 플래그가 나와버려서 당황한 문제 이 문제에서 배운 내용은 nc 명령어 사용법이다. nc [options] port *nc(netcat) : TCP/UDP를 사용하여 네트워크 연결에서 읽고 쓰기 위한 컴퓨터 네트워킹 유틸리티 2022. 12. 9. [시스템] 써니나타스 27번 문제 풀이 27번 문제 1. down을 클릭했더니 이런 문자열이 나왔다. 2. HXD를 열어서 위의 문자열을 복사하여 붙여 넣어 보자. 3. 수락 클릭 4. Decoded text 부분에 문자열을 붙여 넣기 했다. 5. 문자열을 붙여 넣으니 HEX값이 나왔다. 나온 HEX값을 복사하여 올리디버거에 붙여 넣어 보자. 6. BP(F2)를 걸고 (F8)을 누르면서 하나씩 실행시켜보면 7. 스택에 key가 쌓이는 걸 볼 수 있다. 8. 마지막 부분까지 계속 실행시켜보면 key를 얻을 수 있다. 9. 함수가 끝나는 지점에 BP(F2)를 걸고 (F9)를 눌러 실행시키면 key를 한 번에 확인할 수 있다. 2022. 11. 18. 이전 1 2 3 4 5 다음 반응형