보호되어 있는 글입니다.
이번에는 5번 입니다 ! 벌써 BOF네요 ㄷㄷ...이번 문제도 역시 alt 문제가 있는데요... 사실 전 풀이를 올리기 전에 풀어보고 올립니다. 근데 이번 alt 문제는 보자마자 그냥 분석도 안하고 꺼버렸어요 ㅎㅎ일단 비밀 글로 해놓고 풀고서 다시 공개할게요 !(귀찮다고는 말 못하는 속사정...) 바로 시작 !문제가 두 개지만 ~ 하나만 봅시다 ~.~FTZ 보다 더 쉬운 BOF 문제네요 ㅎㅎ...바로 gdb로 분석 들어갑니다 !소스가 간단하니 바로 printf에 BreakPoint를 걸고 A문자를 128개 넣어보면 스택 구조가 아래와 같다는 것을 알 수 있슴다 !| buf(128) | dummy(8) | ebp(4) | ret(4) |
문제를 바로 보니까... 아주 재밌는 것 같군요 !문제를 딱 보는데, popen 쪽에서 뭔가 취약한 것 같긴한데... 모르겠어서 그냥 검색했었습니다 -_-;;근데 나오는게... 참... php에서 popen으로 인자를 전달할 때 | 와 ; 의 취약점들이더군요....그래서 막 생각을 하다가 이렇게 해봤어요 !근데 안됨;; 이런... alias로 하면 간단히 될 줄 알았는데 alias 단계에서 해석이 안되는 건가 봅니다...그냥 그렇게 생각했죠. alias는 popen으로 실행될 때에는 상관없나보네... 하고요.검색도 해보고, which alias 명령으로 위치도 찾아봤는데 alias라는 파일이 존재하지가 않네요 -_-;; alias에 대해서 자세히 아는 분들 좀 알려주세요 ㅠㅠ...아무튼, alias가 안..
시작합시다 !소스코드입니다... 뭐가 이리 긴지 -_-;; 캡처하기도 무섭네요...암튼 분석해보면 포인터로 함수(bad) 가리키고 buffer[50] 선언을 해놨습니다. 그리고 if 로 조건을 걸고, memcpy, memset으로 값을 복사한 후에 앞의 바이트들을 4바이트 빼고 모두 0으로 초기화 시킵니다.딱 보면 감이 오시죠 ? memcpy 부분에서 overflow 되는 것을 이용해서 함수포인터의 주소 값을 바꾸는 문제입니다.일단 막 값을 넣다보면,76개를 넘어가는 순간부터 포인터 값을 침범합니다.코드 구성을 A*76 + '문제 풀기 위한 주소' 를 넣으면 되는거죠. 사실 좀 귀찮아서 gdb로 분석안하고 그냥 막 값 넣다보니 딱 나와서 -_;; 분석하실 분은 분석해보세요. 안 어려워요.바로 풀면 ~9C..
이번에도 Level2 입니다만.... 문제가 다릅니다. 뭐 그냥 대체한다는 문제인가... 흠... 시작해봅시다.처음에 문제 소스 보고서 "뭐 이런 문제를 냈지 엄청 쉽네 -_-;;" 하면서 바로 아래와 같이 입력했습니다 ㅋㅋㅋㅋ??? 작다고 ? 왜 ? 이러면서 다른 수도 넣어보고 막 생쇼를 했습니다... 뭐 아무수나 막 넣어봐도 안되서 그냥 이 소스에서 모르는 부분을 딱 검색해봤습니다... 뭘까요...?바로 stdtod 부분입니다. stdtod 이건 아무래도 맞는 것 같아요그리고 두 번째로 궁금했던 것은 왜 3.141593을 넘기는데도 계산이 안되는가 였습니다...한 5분 생각해봤더니 간단하죠 -_-;;c언어를 하신 분들은 아시죠? 정밀도의 차이 ! float 와 double 이요.생각해보니, answe..
드디어 2번 입니다 ! 접속하고 바로 문제 살펴보죠 !문제가 두 개가 있습니다... 왜 두 개인지는 모르겠지만 둘 다 풀어봅시다 !level02.c 부터 살펴봅시다 ~사실 이 문제를 먼저 한 이유는 FTZ 6번에서 signal에 대해서 공부 자세히 했어서... 쉬워 보여서 했습니다 !시그널에 대해서 궁금하시면 클릭 !아무튼 SIGFPE라는 걸 일으키면 catcher라는 함수를 실행해준다는 것을 알 수 있습니다 ~SIGFPE가 뭔가 검색해봤습니다... 뭘 알아야 풀던가 하죠 ㅎㅎ..SIGFPE
바로 시작해봅시다 !io.smashthestack.org 에 ssh로 접속 후, cd /levels/ 명령을 날리고 풀어야 될 문제를 확인해봅니다 !음... 파일이 너무 많아서 그냥 조건을 줘서 하나만 나오게했구요. 실행해보면 3개의 숫자를 넣으랍니다. 넣어보니 아무것도 안떠서... BOF인가... 하구 1000개를 넣어보니 크래쉬가 안나네요... 왠지 첨부터 FSB는 아닐 것 같아서 그냥 바로 gdb 고고 !코드가 나오는데 차근차근 해석해봅시다. 처음 이니까요 :)윗 부분은 그냥 스택 만들고 변수를 위한 크기 할당하구요. 빨간색으로 네모 친 부분을 살펴보면,(gdb) x/s 0x80486100x8048610: "Enter the 3 digit pascode to enter:위와 같이 나옵니다. 그냥 말..
LOB를 먼저하는 것도 괜찮을 것도 갖지만, 그냥 SmashTheStack부터 해야지... 아마 실력이 부족해서 하다가 끊길듯..일단, smashthestack.org 사이트에 접속 후에 아래 표시된 곳을 클릭합니다.IO 부분을 누르면 아래로 이동합니다.들어가면 큰 화면이 나오는데 다 필요없고, 위의 사진이 가장 중요합니다. 바로 접속해보죠.(* 외국 사이트라 엄청 느려요 ㅠㅠ...)아우... 막 나오는데 그냥 home에서는 ls하면 README만 나옵니다.(한국어느...ㄴ)문제를 푸시려면 cd /levels/ 명령을 입력하신후에 자기 레벨문제를 풀면됩니다 ~ !레벨 1부터 고고싱!
- Total
- Today
- Yesterday
- web
- JavaScript
- findinglatestversion
- ViaAWSService
- terraform
- fleet manager
- AWS #CIS
- platform
- 계정정보저장
- steampipe
- conftest policy
- security
- defaulttheme
- compliance
- opensource
- ControlTower
- stateType
- 우주와컴퓨터
- REACT
- CIS
- temlate
- aws
- .get()
- IAM
- 2xx
- Cloud
- teplate
- 4xx
- scp
- cloudsecurity
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |