전체 글 156

[diary] BOB 8기 최종 합격했습니다. ( 면접 후기 & 합격 소감 (?) )

한국정보기술구원 'Best Of Best' 8기 취약점 분석 트랙에 최종 합격하였습니다... 저는 올해 1월달부터 공부를 시작한 흔한 17살 고1 학생입니다.아직 여러 지원자들에 비해서 능력이 정말 떨어지는 저였기때문에, 지원하면서 걱정도 많이하고, 진로에 대한 고민도 많이 하였습니다.지원하게 된 결정적인 계기는 바로 선배의 권유입니다.선배의 권유로 단순히 경험을 쌓기 위해 지원한 BOB였지만, 그 뒤로 BOB 설명회도 가고, 여러가지로 알아본 결과, BOB는 단순한 " 경험 " 의 문제가 아니라, 제 인생에서의 커다란 하나의 기회라고 생각하였습니다.서류전형을 몇주동안 열심히 준비해서 통과하고, 미칠듯이 좋아하고 나서 새벽까지 면접 준비를 하면서 열심히 준비했는데, 다행히 좋은 결과가 있어서 정말 기쁩니..

Daily Life/diary 2019.06.24

[GIT] git 보고서

(1) git의 역사git은 리눅스 커널을 만들때 코드의 유지보수, 관리를 위해 만든 소프트웨어이다.리눅스 커널을 만들때, 리누스 토르발즈와 많은 사람들은 몇천만줄에 달하는 어마어마한 코드를 작성하였는데, 이를 관리하기 위해서 리누스 토르발즈가 처음으로 개발하였다.지금은 수많은 사람들이 git을 다양하게 사용하고 있다. (2) git이란?git은 위에서 설명했듯이 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. 몇몇 사이트들의 예를 인용해서 설명하면.. 발표code.cpp발표code최종.cpp발표code최종최종.cpp발표code진짜최종최종.cpp :: 와 같은 사례를 막기 위한것이 분산 버전 관리 시스템이라고 생각하면 편할것 같다. git의 특징중 하나는 데이터를 변경할 때 마다 어떠한..

Layer 7/assignment 2019.06.10

[diary] BOB 8기 서류 합겨어어억!!!

우와아아아아아ㅏ아아아아아아아아아아아ㅏ아아아아앙강가ㅏㅇ각아강강가ㅏㄱ앙강각아ㅏㅇ각악악앙각ㅇ아ㅏㅇ아아아아우우ㅏ아앙아ㅏ아아아아우아아아아아유ㅏ유아ㅏ아아아아ㅓ어ㅏㅇ각아ㅏ앙각앙가ㅏㅇ까악으아으가아가악악아강강가아가아앙가악ㅇ각악앙가아가악앙강강강가ㅏㅇ가아아아아아가아강각아앆아 서류가 붙어버렸다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ지금까지 공부한것들이 다른 지원자분들에 비해서 많지는 않지만, BOB를 하겠다는 마음가짐을 자소서에 전달하고싶어서 진짜 노력을 많이했었는데 이런 노력을 멘토분들이 잘 봐주셔서 다행이다...면접까지 갈 기회가 생겨서 정말 다행이다... 남은 시간동안 인적성검사도 치루고 필기 면접 준비를 빡시게 해봐야겠다...

Daily Life/diary 2019.06.10

[FTZ] level20 ( write - up )

대망의 마지막 문제의 코드는 FSB 취약점이 있다. bleh는 80의 크기고, 입력을 최대 79만큼 받을 수 있어 오버플로우가 나지는 않는다.하지만, printf함수 부분을 보면 FSB 버그가 발생하는것을 알 수 있다. 오버플로우가 불가능하니 ret을 건들기가 상당히 힘들다.그래서 우리는 .dtors라는것을 사용할것이다.ret은 함수가 끝나면 실행되는것이고, 프로그램이 끝나면 .dtors(소멸자)를 실행하는데, 그 주소를 확인해보자.0x08049594라고 한다. FSB에서 .dtors를 사용할때는 4바이트를 더한다. .dtors+4는 보통 0으로 셋팅되어있다. 하지만 이 값이 0이 아니면, 프로그램이 종료하고 그부분을 실행해버린다. 그래서 dtors + 4를 하는것이다.일단 쉘을 따긴 땄는데, 이걸 어떻..

[FTZ] level19 ( write - up )

코드가 몹시 간단하다. 그냥 오버플로우가 나는것을 볼 수 있다.setuid가 걸려있긴 하지만, 프로그램 내부에서 setuid를 설정해주지 않아서 아무리 쉘을 이쁘게 따도 level20권한의 쉘이 안따졌었다. 그래서 그냥 setuid 쉘코드를 구해서 사용했다.버퍼에 쉘코드를 삽입하고 NOP sled 기법을 사용해도 상관없지만 나는 환경변수를 사용하였다. 이렇게 환경변수를 등록해주고.. 요렇게 Exploit한다! 끝!

[FTZ] level16 ( write - up )

이번에는 함수포인터를 변조시키는 문제인것 같다. 취약점은 fgets에서 터진다. 함수포인터를 할당해주는 모습이다.ebp-16에 있는 함수포인터에 0x8048500 라는 주소를 넣는데, printit 함수의 것일것이라고 추측할 수 있다. 그리고, buf는 ebp-56에 할당되어있다. 따라서 함수포인터와 buf사이의 거리는 40이다.하지만 입력을 48만큼 받으니 오버플로우로 쉘을 따보자. shell함수의 주소는 노랑색으로 칠한 부분과 같다. 뾰오오오오옹!