전체 글

전체 글

    HackerSchool LOB Level 5

    소스를 보면 4번과 거의같다. 버퍼를 0~40까지 0으로 초기화 시키는 코드가 추가되었을 뿐이다. 4번과 풀이 방법은 같다 비밀번호는 love eyuna 이다

    HackerSchool LOB Level4

    orc.c 소스를 본다 조건을 보면 버퍼[40] stp[4] ret[4]argv[1] [47] 에 주소가 들어가야하고환경변수를 사용하지못한다. orc를 or1로 복사해주고 gdb로 열어준다main함수에 브레이크포인트를 걸고 파이썬으로 인자값을 정확히 맞춰서 넣어준다 argv[2] 의 주소는 0xffffc2c 이다.argv[1]에 놉을 44개 넣어서 stp까지 스택을 채운다음 ret 주소를 argv[2]주소로 변조시켜준다. argv[2]에 놉을 30개 넣고 쉘코드를 넣어주면 풀린다.비밀번호는 cantata 이다

    HackerSchool LOB Level3

    ls로 파일목록을 보면 goblin, goblin.c가 있다 cat 명령어로 goblin.c 파일의 내용을 보자 버퍼[16] stp[4] ret[4] 버퍼가 16이므로 2번과 같이 환경변수를 이용한다 gets 함수를 보자이번에는 프로그램실행하면서 입력값을 받는형식이아니라 실행 후 입력값을 받는 방식이다 그러므로 다른방법을 사용해주어야한다 2번과 똑같은 방법으로 환경변수 주소를 구하고 (python -c 'print "\x90"*20+"\x81\xfc\xff\xbf"';cat)|./goblin페이로드를 작성해주면 쉘이 따진다 비밀번호는 hackers proof 이다

    HackerSchool LOB Level 2

    버퍼[16] stp[4] ret[4]버퍼가 16bite 이기때문에 버퍼에 쉘코드를 넣을수가없다 (쉘코드가 25바이트이기때문)환경변수를 이용하여 풀어야한다. 환경변수를 등록하는 방법은 export [환경변수명]=[내용] 이다 export 로 환경변수를 확인해볼수있다.test로 잘들어간것을 확인할수있다.환경변수의 주소값을 구하기위해서 getenv 함수를 사용한다 getenv 함수를 이용하여 cat.c 파일을 만들었다 gcc -o cat cat.c gcc로 컴파일을 해준다 -o 옵션은 파일이름 지정이다 gcc -o [실행파일] [소스파일] 환경변수 test의 주소는 bffffc7b 이다 페이로드는 ./cobolt `python -c 'print "\x90"*20+"\x7b\xfc\xff\xbf"'` 이다 다음..

    Buffer Overflow 기초

    ▶버퍼오버플로우란?버퍼 오버플로(buffer overflow) 또는 버퍼 오버런(buffer overrun)은 메모리를 다루는 데에 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점이다.네이버 펌 bof의 구성은 이렇다 [Buffer] [SFP] [leavel] [RET] 여기서 버퍼는 문제에 따라 변하고 sfp는 4바이트 ret도 4바이트이다leavel는 필자도 아직 모른다. 나중에 알게되면 추가예정이다.버퍼오버플로우의 기초 원리는 정해진 버퍼를 넘치게해 오류를 일으키는것이다.여기서 핵심은 ret에 있다. ret은 리턴어드레스라고하는데 함수가 종료될때 복귀주소를 의미한다.주어진 버퍼크기 보다 큰 값을 주어 버퍼오버플로우를 일으키고 ret값을 변조하여 프로그램 실행흐름을 바꿀수있다. [출처] 해커스쿨 ..

    HackerSchool LOB Level 1

    해커스쿨에서 제공하는 LOB 1번 문제이다 xshell telnet 으로 연결한다ID:gatePW:gate일단 처음에 bash를 bash2로 변경한다왜냐하면 bash는 \xff 를 NULL로 인식하는 오류가 있다. [출처] 해커스쿨 LOB Level1 gate -> gremlin 풀이ㅇㅁㅁㅇ|작성자 유뱃ls로 파일이 뭐가 있는지보자. gremlin , gremlin.c 파일이 나온다cat 명령어로 gremlin.c 파일코드를 보자 코드를 해석해보면 버퍼는 256byte고 argc는 2보다 크거나 같아야한다argv[1]의 값이 버퍼로 가는것을 볼수있다. cp명령어로 gremlin을 gremli1으로 복사해준다 복사해주는 이유는 원본파일은 권한이 없어서 디버깅이 불가능하기때문이다. ※복사할때 파일명은 상관없..

    [쿼드콥터] 1. 부품구입

    쿼드콥터를 제작하기전에 부품을 골라야한다선정 순서는 프레임 > 모터 > 프로펠러 -> 변속기 -> 배터리 순으로 골라야한다 구입은 RC부품의 성지 하비킹에서 하기로하자http://www.hobbyking.com/hobbyking/store/index.asp 프레임 F330http://www.hobbyking.com/hobbyking/store/__28172__F330_Glass_Fiber_Mini_Quadcopter_Frame_330mm.html 모터 D2822 http://www.hobbyking.com/hobbyking/store/__18967__D2822_17_Brushless_Outrunner_1100kv.html 프로펠러 http://www.hobbyking.com/hobbyking/store/..

    블루투스 탱크 완성

    완성한지 오래됬는데 이제야 올린다 모터 토크가 약해서 무부하상태에서는 잘 구동되지만 부하가 걸리면 구동이안된다아두이노로 탱크 만들려면 35스케일을 사용하는게 좋다