문제 5번부터 약간씩 어려워지기 시작합니다.여기서 어렵다는 의미는 지금까지와는 달리 창의적(?)인 생각이 필요하다는 의미입니다 ^^.일단 Egg Hunter, Buffer Hunter 때문에 환경변수와 버퍼는 이용할 수가 없습니다.그런데도 스택은 여전히 당신의 친구라는 문구가 있네요...제가 처음 위의 문제를 봤을 때에는 완전 멘붕 속에 빠져서 몇 시간을 생각했었습니다.근데 막상 드는 생각은 참 허무맹랑(?)하면서도 될 법한 것이었습니다. 여러분도 한 번 생각해보세요. 이번 문제를 어떻게 해결할 수 있을지 말이죠. 분명 생각하신다면 창의력(?)이 확 ! 올라가는 것을 느낄 수 있습니다.(과연 ?)중요한 포인트를 짚어보겠습니다. 1. 환경변수를 사용할 수 없다.- 이는 4번에서도 그랬으니 가볍게 생각할 수..
dumpcode.h는 첨부해놨습니다. 문제 바로 보시죠.extern char **environ 전역 선언과 memset을 이용해서 프로그램이 실행될 때 환경변수를 모두 0으로 만듭니다.그러니 지금까지 사용했던 환경변수를 이용한 Exploit은 불가능하고, argv[1][47]로 \xbf를 검증하는 것으로 보아 전통적인(?) BOF를 사용해서 공격해야 하는 것 같습니다.Redhat 6.2는 Random Stack이 적용되어 있지 않아 주소가 고정되므로 dumpcode.h를 삽입한 새로운 코드를 작성해서 주소를 살펴보겠습니다.orc.c를 or1.c로 바꿔서 컴파일 했습니다. 저희가 RET에 넣어야하는 주소 값이 0xbffffae0 이라는 것을 알 수 있습니다. 위의 공격코드대로 구성해서 다시 공격해 보겠습니..
사실 LOB 문제들이 BOF의 개념을 잘 이해만 하고있다면 20문제 모두 그렇게 어렵지 않게 풀 수 있는 문제들 입니다.그러니 화이팅 !3번은 small buffer + stdin 이라는 조건이 걸려있네요.제가 항상 strcpy와 썻으니 여기서 gets는 어떻게 공략해야하는지 알아보겠습니다.보통 저희가 argv를 이용해서 값을 전달할 때에는 " 프로그램 `python -c 'print ~~'` "와 같은 형식으로 공격합니다만,gets는 " (python -c 'print ~~';cat) | 프로그램 "과 같은 형식으로 공격합니다. 여러운건 없으니 바로 공격해보겠습니다.해커가 침입했다는 것을 증명했다네요... P.S. 사실 모든 워게임이 그렇겠지만, 특히 BOF는 어떻게 푸는지 감이오면 정말 쉽게 공격할 ..
- Total
- Today
- Yesterday
- 2xx
- JavaScript
- teplate
- steampipe
- .get()
- aws
- findinglatestversion
- CIS
- compliance
- 우주와컴퓨터
- platform
- 4xx
- security
- scp
- AWS #CIS
- fleet manager
- opensource
- temlate
- web
- IAM
- defaulttheme
- 계정정보저장
- Cloud
- REACT
- conftest policy
- ControlTower
- stateType
- cloudsecurity
- ViaAWSService
- terraform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |