전체 글

성밍쟁 공붕방
0. 프롤로그https://dreamhack.io/wargame/challenges/353 Return to LibraryDescription Exploit Tech: Return to Library에서 실습하는 문제입니다.dreamhack.io  1. 사전 공부 및 작업2. 문제   3. 코드 분석  4. 스택 구조   5. 예상 공격 방법   6. 카나리 값 획득   7. system.의 plt 주소 확인8. 리턴 가젯   9. /bin/sh의 주소 찾기10. 실행 11. 에필로그시간 투자를 굉장히 많이함.
프롤로그 지금까지 내용들 정리해보면Return Address Overwrite : 반환 주소를 악성 함수의 주소로 덮어서 셸 획득Stack Canary : 스택 프레임의 반환 주소 전에 랜덤한 카나리를 주입하여 반환 주소를 덮기 어렵게 함Return to Shellcode : 카나리를 우회하고, 셸 코드를 주입한 버퍼의 주소로 반환 주소를 덮어서 셸 획득ASLR : 임의 버퍼의 주소를 알기 어렵게 함NX : 각 세그먼트의 불필요한 실행권한을 제거함으로써 공격자가 임의 버퍼에 주입한 코드를 실행하기 어렵게함 NX를 우회하기 위해 RTL(Return To Libaray)가 나옴  Return to LibraryNX로 인해 공격자가 버퍼에 주입된 셸 코드를 실행하기는 어려워졌으나, 반환 주소 덮는 것은 여전히..
라이브러리컴퓨터 시스템에서 , 프로그램들이 함수나 , 변수를 공유해서 사용할 수 있게 함.printf, scanf, strlen 등 C프로그래머들이 코드를 작성하면서 자주 사용하는 함수들의 정의를 묶어서 하나의 라이브러리 파일로 만들고, 이를 여러 프로그램들이 공유해서 사용할 수 있도록 지원함.-> 같은 함수를 반복적으로 정의해야하는 수고를 덜 수 있어서 코드 개발의 효율이 높아짐 각 언어에서는 범용적으로 많이 사용하는 함수들(printf...)은 표준 라이브러리로 제작되어있음.C의 표준 라이브러리인 libc는 우분투에 기본적으로 탑재됨./lib/x86-64-linux-gnu/libc.so.6에 위치.   링크컴파일 되는 과정전처리(.i) -> 컴파일(.s) -> 어셈블(.o) -> 링킹 즉 어셈블 까지..
프롤로그 화이트햇 하면서, 스택오버플로우랑 카나리 기법 공부하고, 따로 정리는 안 하였다. NX No-eXecute(NX) : 실행에 사용되는 메모리 영역과 쓰기에 사용되는 메모리 영역을 분리하는 보호 기법. 메모리 영역에 대해 쓰기 권한과 실행 권한이 함께 있으면 시스템이 취약해 지기 쉽다. 그래서 CPU가 NX를 지원하면, 컴퍼알러 옵션을 통해 바이너리에 NX를 적용할 수 있고, NX가 적용된 바이너리는 실행될 때 각 메모리 영역에 필요한 권한만을 부여받는다. 어떤 보호 기법이 적용되었는지 확인하려면 checksec 파일 를 쓰면 보호 기법이 나온다 $ checksec ./nx [*] '/home/dreamhack/nx' Arch: amd64-64-little RELRO: Partial RELRO S..
프롤로그 저번 비밀번호는 P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU 이었고, 이는 2024.03.08 - [보안 스터디/bandit] - [워게임] bandit level5 -> level6 문제 풀이 [워게임] bandit level5 -> level6 문제 풀이 프롤로그 저번 비밀번호는 lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR 이었고, 그 풀이과정은 2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level4 -> level5 문제 풀이 [워게임] bandit level4 -> level5 문제 풀이 프롤로그 taesan-smj.tistory.com 여기서 확인할 수 있다. 전체 목록은 2024.02.04 - [보안 스터디/bandit]..
프롤로그 저번 비밀번호는 lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR 이었고, 그 풀이과정은 2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level4 -> level5 문제 풀이 [워게임] bandit level4 -> level5 문제 풀이 프롤로그 저번 비밀번호는 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe 이었다. 그 풀이과정은 2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level3 -> level4 문제 풀이 [워게임] bandit level3 -> level4 문제 풀이 프롤로그 le taesan-smj.tistory.com 여기서 확인할 수 있다. 전체 비밀번호는 2024.02.04 - [보안 스..
· 웹 개발
프롤로그 2주간 말레이시아 해외 인턴십을 다녀오고, 현재 코로나 걸려서 3주간 블로그를 쉬고 있다. 그래서 pom 프로젝트나 쉬는 동안 끝내보자. 모델생성 임시적으로 사용가능한 이메일인지 체크만 할 것을 구상하였기에 임시 데이터베이스를 만들었다. class TempEmailVerify(models.Model): email = models.EmailField(unique=True) verification_code = models.CharField(max_length=6) created_at = models.DateTimeField(auto_now_add=True) def is_expired(self): # 인증 코드의 유효 시간을 1시간으로 설정 return self.created_at < (datetim..
프롤로그 저번 비밀번호는 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe 이었다. 그 풀이과정은 2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level3 -> level4 문제 풀이 [워게임] bandit level3 -> level4 문제 풀이 프롤로그 level3으로 들어가는 비밀번호는 aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG 이거였다. 나오는 것은 2024.02.10 - [보안 스터디/bandit] - [워게임] bandit level2 -> level3 문제 풀이 [워게임] bandit level2 -> level3 문제 풀 taesan-smj.tistory.com 여기서 볼 수 있고, 지금까지의 풀이과정은 2024.02.04 - [보..
프롤로그 level3으로 들어가는 비밀번호는 aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG 이거였다. 나오는 것은 2024.02.10 - [보안 스터디/bandit] - [워게임] bandit level2 -> level3 문제 풀이 [워게임] bandit level2 -> level3 문제 풀이 프롤로그 명령어 초반부분은 다 거기서 거기인 것 같다. 정리해놓은 거 1, 2편에서 잘 정리해놓았으니... 이걸 계속 이용하자 문제 https://overthewire.org/wargames/bandit/bandit3.html OverTheWire: Level Goal We're h taesan-smj.tistory.com 여기서 확인할 수 있다. 문제 https://overthewire.org/w..
· 웹 개발
프롤로그 이메일 인증 이것도 처음인데 일단 시도는 해보기 위해서 넣을 것이다. 이메일 인증 주소 : [ip]/signup/email_verify/ 이메일 인증 완료 [ip]/signup/activate_email/// ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 밑에 글들을 참고하였음. https://woongsin94.tistory.com/300 Django 회원가입 이메일 인증(SMTP) 많은 포털 사이트에서 회원가입 시 웹 메일 인증 시스템을 채택하고 있다. (현재는 대부분 보안성 때문에 기기 인증 등도 활용되고 있다고 한다...) 프로젝트를 진행하면서 해당 부분이 필요하게 woongsin94.tistory.com https://ssungkang.tistory.com/entry/..
프롤로그 명령어 초반부분은 다 거기서 거기인 것 같다. 정리해놓은 거 1, 2편에서 잘 정리해놓았으니... 이걸 계속 이용하자 문제 https://overthewire.org/wargames/bandit/bandit3.html OverTheWire: Level Goal We're hackers, and we are good-looking. We are the 1%. Level Goal The password for the next level is stored in a file called spaces in this filename located in the home directory Commands you may need to solve this level ls , cd , cat , file , du ..
프롤로그 좀 이 한 문제 푸는 데 텀이 오래 걸리긴 했는데 바빴다. 용과같이8 나온 거 말레이시아 가기ㅏ전까지...ㅎㅎ 다 깨고 싶어서 문제 https://overthewire.org/wargames/bandit/bandit2.html OverTheWire: Level Goal We're hackers, and we are good-looking. We are the 1%. Level Goal The password for the next level is stored in a file called - located in the home directory Commands you may need to solve this level ls , cd , cat , file , du , find Helpful Re..
성밍쟁
너드인의 밤