보안

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. 에필로그시간 투자를 굉장히 많이함.
라이브러리컴퓨터 시스템에서 , 프로그램들이 함수나 , 변수를 공유해서 사용할 수 있게 함.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..
프롤로그 저번 비밀번호는 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 - [보안 스..
프롤로그 저번 비밀번호는 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..
프롤로그 명령어 초반부분은 다 거기서 거기인 것 같다. 정리해놓은 거 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..
프롤로그 웹 해킹으로는 취직을 할 수 없을 거 같다라는 생각에..그리고 리눅스 관련해서 실력이 늘고 싶은 마음에 이것저것 도전해본다. 일단 bandit 부터 문제풀어보겠다. 사전 준비 우선 bandit 문제를 위한 세팅이 필요하다. sudo apt-get install openssh-server 이걸 리눅스 계열 터미널에다가 입력하여 주자. 본인은 wsl을 VS CODE에다가 적용시켰다. 설치가 완료되었다. 그 다음 sudo apt-get install ssh 로 ssh를 설치하자 그다음 vim 을 설치한다. sudo apt-get install vim bandit 은 포트번호가 2220이다. https://overthewire.org/wargames/bandit/bandit0.html OverTheWi..
프롤로그 되게 오랫동안 버려두었던...시스템 호출... 어려운 것도 있고...레지스터도 뒤지게 많고...이참에 한 번에 정리하고 제대로 해보자. 문제 https://dreamhack.io/wargame/challenges/410 shell_basic Description 입력한 셸코드를 실행하는 프로그램이 서비스로 등록되어 작동하고 있습니다. main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 dreamhack.io 사전 정보 syscall : 운영체제의 커널이 제공하는 서비스에 대한 프로그램의 요청을 말한다. open : 파일을 열거나 생성하기 위한 시스템 호출이다. 파일을 열 때 필요한 정보를 지정하고, 파일이 성공적으로 열리면 ..
프롤로그 session-basic 이라는 문제가 있었는데, 이것은 그거와는 조금 다른 문제이다. 문제 https://dreamhack.io/wargame/challenges/266 session 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 문제코드 #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', '..
프롤로그 1주일간, 무선통신과 AES 암호학에 대해서 되게 심도있게 공부하고, 그것으로 발표자료를 준비하느라 좀 블로그에 신경을 못 썼다. 오늘 일단 발표자료는 다 완성이 되어서 이제 웹 해킹 마저 공부했던 거 계속 문제를 풀어보자. 문제 문제 코드 PHPreg Step 1 Step 2
성밍쟁
'보안' 태그의 글 목록