| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- hole punching
- MICROSOFT365
- DotNet
- puts함수
- fclose
- 스냅드래곤PC
- copilot+pc
- c# 로컬포트
- TcpClient
- lord of sql injection
- libhostpolicy.so
- stdout flag
- sputn
- get local
- stdout
- xsputn
- 우분투 C#
- c# localport
- dotnet publish
- Red Dragon
- puts
- puts분석
- Blue Dragon
- TCP
- OSI
- fclose leak
- 스냅드래곤노트북
- copilot
- Los
- 홀펀칭
- Today
- Total
목록전공쪽/동아리 관련 (19)
Osori Development Studio
문제 오늘의 문제는 스택비벗 관련 문제이다. 이전과 달라진 점은 일단은 카나리가 없고, 대신에 Full Relro가 걸렸다는 점이다. 이 Full Relro가 적용이 되면 got영역에 쓰기권한이 사라지게 된다. bss 영역만 쓰기 권한이 생긴다. 그러면 bof로 승부를 봐야하는데.. 16byte로 대체 어떻게 공격을 할 수 있단 말인가?! STACK PIVOT? 그래서 등장한 것이 스택 피벗이다. 위에서 bss 영역에는 쓰기 권한이 아직 남아있다고 하였다. bss영역에 system 함수와 binsh의 주소를 잘 적어놓고, RIP를 bss 영역으로 옮겨준다면? 가능할지도 모르겠다! 이렇게 쓸 수 있는 공간으로 옮겨 들어가서 RTL Chaining을 하는 것을 스택피벗이라고 한다. 어떻게? 그런데 bss영역..
사실 이 글을 써도 되는지는 모르겠지만, 우리 학교 동아리 부원이 내 블로그를 볼 일은 없을 것이라 생각하고, 문제와 해설을 올려보자 한다. 만약 보신다면 살포시..! 뒤로가기를 눌러주십셔. 문제는 Format String 과 Bof 그리고 문제의 이름인 Checksum을 합쳐서 만들었다 . 하루만에 만드느라 힘들었다.. 보호기법은 Canary , NX, Partial RELRO를 걸어줬다. checksum도 문제이름이고, 함수이름에도 checksum이 많이 들어가 있는 걸 보니, checksum이 중요하게 작용하겠다. 일단은 기본적으로 dest라는 배열이 rbp-0x2C ~ rbp-0x18까지 차지하고, buf라는 배열이 rbp-0x18~rbp-0x4까지 차지한다. 두 배열은 크기가 20byte로 동일..
포맷스트링에 관한 것은 다른 곳에서 더 잘알려주기 때문에 따로 정리하지는 않겠다. 이 문제 푼다고 몇일동안 끙끙거려서 딱히 까먹을 일도 없을 것 같긴 하다. 이런 코드가 있다. 동아리 실습 문제인데, 일단 처음부터 시도해보자. 일단 방법으로는 FSB(Format String Bug)로 libc를 알아내서, printf 를 system으로 바꾸어 주면 /bin/sh를 주지 않아도, 앞에서 read로 buf에 값을 넣어주기 때문에 원하는 명령어를 실행할 수 있을 것이다. (모법답안은 이것과 다르더라. 일단 atoi함수가 어떻게 실행되는지를 찾아볼 생각을 안했다...) 일단 먼저 leak에 관한 부분이다. 모든 프로그램에 해당되는데 스택 밑부분을 보면 저렇게 libc_start_main+n에 관한 부분이 고스..