분류 전체보기 309

[HackCTF : Pwnable] look at me 풀이 (32bit, mprotect)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 롸업 구글링해보니 다른 풀이도 있길래 그 방법으로 한번 풀어보려고 한다. 주어진 파일은 문제 파일 바이너리 Analysis [HackCTF : Pwnable] look at me 풀이 (32bit, syscall) 참고참고 ~~ How to exploit system 함수가 없어서 mprotect 함수를 이용하려고 한다. mprotect(원하는 주소, 사이즈, 권한) mprotect 함수는 원하는 코드 영역의 권한을 변경할 수 있는 함수이다. 지금 nx가 걸려있어서 쉘코드 실행이 안되는데 이 함수를 이용하여 bss 영역의 권한을 7로 바꿔주고 쉘코드를 집어넣어 실행시킬 것이다. mprotect의 인자값을 넣을 때 주의해야 할 점..

WAR GAME/HackCTF 2021.04.09

[OS] Lecture 3. Process Management 정리

참고 : https://www.youtube.com/watch?v=jZuTw2tRT7w&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=5 https://www.youtube.com/watch?v=MJTr37lgaMA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=6ji 프로세스 상태변화... 겁나 오랜만이다. 옛날에 학교에서 배웠을 때 정말 달달달 외웠던 기억이 난다. 이번기회에 다시 상기시켰다. 인터럽트를 할 때 CPU가 뺏긴다. 이때 레지스터 정보들은 memory의 pcb에 저장이 된다고 한다. 그리고 pcb는 커널영역에 저장이 된다. www.notion.so/jir4vvit/OS-Lecture-3-Process-Managemen..

운영체제 2021.04.09

[HackCTF : Pwnable] look at me 풀이 (32bit, syscall)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 함수와 syscall의 차이? 그리고 아래 문제가 생각났던 문제.. [DEFCON 2019] speedrun-001 풀이 주어진 파일은 문제 파일 바이너리 Analysis 바이너리를 IDA로 열자마자 느꼈던게.. 왼쪽에 함수 목록에 함수들이 너무나 많았다. static으로 컴파일 된 프로그램 같았다. 그리고 맞았다. ㅇㅁㅇ..!! 일단 main을 살펴보자. main은 간단하다. look_at_me 함수를 살펴보자. gets에서 BOF가 발생한다. RET를 어떤 함수로 덮을까... 하여 함수 목록을 살펴봤지만 뭐 flag를 출력해주는 함수도 없고.. system 함수도 없고(ㅜㅜ) 심지어 nx도 걸려있어서 쉘코드 실행도 못한다....

WAR GAME/HackCTF 2021.04.08

angstromCTF 2021 후기

대회 정보 : ctftime.org/event/1265 대회 시간 : 2021.04.03 09:00 ~ 2021.04.08 08:59 (KST) 내가 적은 롸업 : jiravvit.tistory.com/entry/angstromCTF-2021-binary-%EB%82%B4%EA%B0%80-%ED%91%BC-%EB%AC%B8%EC%A0%9C%EB%93%A4-%ED%92%80%EC%9D%B4 secure login.. 이상하게 풀었다 ㅋㅋㅋㅋㅋㅋㅋ 홈 디렉터리나 /tmp에서 작업해서 폰툴로 널써서 보내야하는데 엔터로 보냈다. 알고보니 0xff(엔터) * 0xff(널) 의 희박한 확률로 문제 풀었..다..ㅎ; 아무튼.. 그렇고 raiid shadow ~ 문제를 풀면서 새로운 것을 배웠다. 값이 스택에 초기화 ..

CTF/CTF 후기 2021.04.08

picoCTF 2021 후기

대회 정보 : ctftime.org/event/1310 내가 적은 롸업 : jiravvit.tistory.com/entry/picoCTF-2021-pwn?category=902325 아는 분이 대회 중고등학생 대상 대회..? 라고 해서 한번해보라고 하셨다. 역시 중고등학생 수준이라서 그런지 나에게 딱맞았다. 저 cache me outside 문제는 내가 힙 영역을 잘 몰라서... 못풀어봤다. (힌트 보니까 tache..? 뭐시기 적혀있던데 흠..) 원가젯을 바로바로 쓸 생각을 하자!!! 라는 교훈을 얻은 대회였다.

CTF/CTF 후기 2021.04.08

[angstromCTF 2021 : binary] 내가 푼 문제들 풀이

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 대회 정보 : ctftime.org/event/1265 (angstromCTF 2021) Secure Login '/dev/urandom' 에서 가져온 flag와 나의 인풋값을 strcmp 함수로 비교하고 똑같으면 flag를 던져주는 문제이다. '/dev/urandom' 에서 flag를 가져오는데, 저게 뭔지 몰라서 구글링을 하다가 '/dev/urandom 취약점' 이란 연관검색어를 발견했다. 하지만 그런 취약점은 없고, /dev/urandom은 정말 무조건 랜덤(예측불가능한) 문자열을 가져온다. 여기서 삽질하지 말 것. strcmp 함수는 문자열 두개를 비교할 때 null이 아닐 경우에 한글자한글자를 비교한다. 만약 null이..

CTF/Write UPs 2021.04.08

[OS] Lecture 2. OS Overview 정리

참고 : https://www.youtube.com/watch?v=nxl_cUd55Ag&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=2 https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=3 https://www.youtube.com/watch?v=knF9lzHA3LI&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=4 배치 시스템, 시분할 시스템.. 이런거 들어본거같은데 진짜 들어보기만 했었다. 이번 기회에 정리해서 기분 좋다. 운영체제 구조도 복잡해보여서 잘 안봤었는데 이번기회에 보게 되었다... (별거아님) www.not..

운영체제 2021.04.07

[OS] Lecture 1. Computer System Overview 정리

참고 : https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=1 언제 한번 운영체제 제대로 공부해보고 싶었는데 위의 유튜브 강의가 좋다고 해서 바로 공부를 진행하기로 하였다. 정리는 노션으로 하였다. 일부러 정리 스트레스 안 받으려고 간단간단하게 정리했다...ㅎ 공부한 거 공유하면 좋을 것 같아서 블로그에 공유한다. 배열에서 왜 x, y 인덱스 순서를 '왜' 거꾸로 하지 말라고 하는지... 생각도 안했었다. (지역성 때문, 같은 cache line에 있어야 계속 hit나서 속도 빠름, 반대로하면 계속 miss나서 mm까지 왔다갔다 하느라 더 느림) www.notion.so/jir4vvit/OS-L..

운영체제 2021.04.05

[HackCTF : Pwnable] RTL_Core 풀이 (32bit, RTL)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 간단하게 짬내서 풀어보았다. 주어진 파일은 libc와 문제 바이너리 이다. Analysis IDA로 함수들을 살펴보자. main 뭔가 저 조건을 만족시키고 core 함수를 실행해야할 것 같다. check_passcode(input) == 0xc0d9b0a7 check_password output = *(0 + input) output += *(4 + input) output += *(8 + input) output += *(12 + input) output += *(16 + input) 32bit라서 한칸에 4byte인데, input 아래로 4칸,,, 한마디로 총 5칸에 있는 값을 다 더한 게 output이다. 이 output이..

WAR GAME/HackCTF 2021.04.05