일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스콜피온킹
- libtins
- 조희연
- 킹덤 고근희
- 픽크루
- 성남은혜의강교회
- 금리인하
- 성남 코로나 확진자
- 폰폰테스트
- 뭉쳐야 찬다
- 이태원 클라쓰 15회 예고
- 해킹
- 유튜버 김재석
- 불가피
- 제넥신
- 김영권 아내
- 홍혜걸
- 이지혜
- 미국 금리인하
- 이상형 만들기
- 스페인 코로나
- 임영규
- 김재석
- 학교 개학 연기 4월
- 고민정
- 리리남매
- 최강욱
- 양적완화
- 김영권
- 은혜의 강 교회
- Today
- Total
목록전체 글 (256)
Dork's port
대망의 19번 입니다! 점점 문제가 갈수록 불친절해지는 것 같은건 기분탓... 인가요? 문제를 보면 이번엔 아무것도 없이 buf만 입력받고 땡이네요! 그래도 attackme파일엔 setuid가 설정이 되어있는데 예전엔 보이던 /bin/sh실행 명령어와 setrueid가 보이지 않아요.. 그러면 우리가 만들어 줘야 겠군요! 일단 리턴 어드레스 확인을 위해 아래와 같이 명령어를 작성하였는데 44번째에서 Segemantation Fault가 뜨는 것을 보니 저기가 리턴어드레스 주소인가보군요! 자 그러면 우리는 seteruid및 /bin/sh실행을 위한 쉘코드를 작성하여야 합니다. 이전까지 /bin/sh쉘코드는 많이 이용 하셨을 것이라 생각합니다. 그래서 이번엔 setreuid에 대한 쉘코드를 만들어 볼게요! ..
안녕하세요! 문제 18번 입니다! 이번 문제는 조금 특별한 문제이네요! BOF가 아닌... BUF이네요! 즉, 버퍼를 오버시키는 것이 아닌 버퍼를 언더 시키는 것이 목적인 문제 였습니다! 같이 문제를 보도록 하죠! 힌트 부터 무지막지하게 기네요. Key는 check의 값을 deadbeef로 만들면 shellout함수가 실행되며 권한 상승이 이루어 집니다!여기서 당황 했네요. 길게 장황하게 적어져있지만 결국엔 입력을 하나 받아 1크기(char)만큼 x의 주소에 담는 scanf같은 함수입니다. 다른점이있다면 이건 하나씩 루프가 진행되며 string에 담는 다는 것 정도 일까요? x의 값이 \r또는 \n 그러니까 개행 문자이면 그냥 \a를 출력하고 끝나네요! 위의 값에 대해 잘 모르시는 분들께서는 Crarri..
17번 입니다! 뭔가 문제가 이전에 풀었던 문제들이랑 비슷비슷해서 속도가 많이 나는 것 같네요! 가보시죠! 이번엔 이전문제와는 달리 함수조차도 주지 않았네요.. 다행이 setreuid를 통해 권한은 설정해 주었으니 저희가 할일은 /bin/sh을 실행시키는 것인데.. 어디서 많이 해봤죠? 자연스럽게 gdb로 가줍니다! 늘 그랬듯 함수의 인자를 통해 변수의 주소를 알아오면 ~ c8은 buf이네요!마찬가지로 f0은 함수 포인터 변수 call이네요! 그리고 예전에 썼던 eggshell을 통해 /bin/sh을 실행시켜줄 수 있도록 하겠습니다! 오랜만에 보니 반갑네요. 그리고 그 주소를 이용해 공격 코드를 아래와 같이 작성해줍니다! eggshell에 대한 정보는 문제 11번에서 자세히 다루었습니다. 이해가 안되신다..
정말로 끝이 보이기 시작하네요! 16번 입니다! 힌트를 보니 printit의 함수를 포인터 형태로 저장하여 마지막에 call()을 통해 포인터에 저장된 함수를 call하네요! 원래대로라면 Hello there!이 출력되는 함수가 실행되어야 하지만 그 위에 의심스러운 함수가 있네요! 자연스럽게 gdb를 사용하여 main의 코드를 볼까요! fgets의 인자로사용하는 저 c8의 주소가 buf의 주소이겠네요! 그리고 마지막에 어떠한 주소를 저장하고 call을하는 저 주소가 바로 call의 변수 이겠네요! 역시 차이는 0x28만큼 납니다! 그리고 우리는 여기서 shell 함수의 주소를 찾기 위해 아래와 같이 명령어를 입력하면 친절하게 gdb가 시작주소를 알려줍니다! (gdb) disass shell 만세! 그리고..