분류 전체보기(82)
-
[어설픈] 공주대학교 wargame pwnable 1 문제풀이
안녕하세요!오늘은 http://wargame_sec.kongju.ac.kr에 있는pwnable1 100점짜리 문제를풀어보도록 하겠습니다! 문제에 접속하면 아래와 같이 뜹니다!그래서 download를 하여서 바이너리를 다운로드 받을 수 있습니다! 그래서 바이너리를 다운로드 한 후에!IDA를 통해서 아래와 같이 열어주면! 변수가 상당히 많이 있네요!char 형 변수가 s1 부터 v5, v6 ,v7 ....(이후 생략) 그리고 각각의 변수에숫자가 입력이 알아서 되네요! v16까지 숫자가 잘 들어간 다음에! Input password: 라는 문장을 printf 함수를 통해서 출력하네요!그리고 scanf로 s2 변수에 값을 입력합니다! 그리고 strcmp을 통해서 s1과 s2의 값이 같지 않으면!wrong이라고 ..
2019.04.20 -
[어설픈] 해커스쿨 FTZ Level 19 문제풀이(late upload)
안녕하세요!오늘도 까먹고 늦게 올린FTZ 문제 19번을 풀어보도록 할게요! 문제는 아래와 같이 더럽게 simple 합니다! main에 buf[20] 만큼 선언하고!gets함수로 overflow가 일어나게끔 해놓죠! 저도 맨 처음에 신나서 문제 풀었습니다! 근데... 문제를 풀어도 권한 상승이 일어나지 않고계속 level19의 권한이길래이상했습니다! 그리고 왜 이러지..?생각을 하고 다른 문제와 비교해보니!하나가 빠져있었습니다! 직전 문제에서 shellout( )함수 코드를 봐도setreuid(3099,3099)가 있었죠? setreuid( id 숫자 , id 숫자)함수를 이용하여 다음레벨로 권한상승을 시킨 후에쉘을 시켜야 저희가 원하는 문제가 풀리는 겁니다! 처음에 저는 그래서execve 함수를 이용해서..
2019.04.18 -
[어설픈] 해커스쿨 FTZ Level 18 문제풀이(late upload)
안녕하세요!올린다는 걸 깜빡하고이제서야 늦게 올립니다! 오늘은 FTZ level18번 문제를 풀어보겠습니다! main에 변수들도 많이 선언되어있고!코드도 상당히 기네요! 우선 변수들 먼저 볼까요?char형의 string이 제일 먼저 선언되어있네요!그 다음에 check 변수, x변수, count 변수, fd_set 구조체의 fds 하나많이도 선언되어 있네요! 다음으로, 밑에 이제 함수들을 보면!printf로 command를 입력하라는 문장을 출력하고stdout과 관련된(저희가 입력할 때 쓰는 stdin과 반대) 출력 버퍼를 fflush함수로 청소하네요!fflush는 버퍼를 클리닝, 초기화하는 함수입니다! 그리고 while(1)이니 무한 반복인 상태가 되는데어떤 함수들이 계속 실행 되는지 볼까요? 제일 먼저..
2019.04.16 -
[어설픈] webhacking.kr 21번 문제풀이
안녕하세요!오늘은 webhacking.kr에서250점 문제인21번 문제를 풀어보도록 하겠습니다! 문제에 들어가니 아래와 같이 나오네요!대문에 크게 BLIND SQL INJECTION 이라고 광고하고 있네요뭐 제가 밑에 박스에 값을 넣고제출 버튼을 누르면Result에 결과가 뜨겠죠? BLIND SQL INJECTION = 서버에 요청을 보내어, 서버의 참/거짓 값을 토대로 값을 알아내는 INJECTION 입니다!기존에 sql injection과 달리 한번에 BAAM!하고 결과가 나오지 않아요 ㅠㅠ 그래서 뭐 일단은 뭐라도 좋으니a를 입력해 보았습니다! 그랬더니 결과창에False "응응 너 틀림 ㅋ"이라고 뜨네요..?! 근데 신기하게 id랑 pw parameter도 있나보네요!그리고 위에 url 결과창이 뜨..
2019.04.14 -
[어설픈] LOB 18번succubus 문제풀이
안녕하세요!오늘은 LOB 18번 문제Succubus을 풀어보겠습니다! 소스코드는 아래와 같습니다! argv[ ]형식으로 인자 전달 받구요!buffer[40] 할당하구요char형 포인터 addr 할당하구요argument 2개보다 작으면 안되구요! addr 포인터에 strcpy함수 주소 넣어서만약 main 함수의 ret_address에 strcpy가 아니면무조건 exit( ) = 무조건 strcpy로 return해서 문제풀어라! 그리고 제일 짜증나는 부분인!buffer+48부터 4byte를 AAAA로 초기화합니다왜 짜증이 나냐? AAAA부분은 strcpy의 return address인데return address를 AAAA로 고정시켜놨어요..... 자 그러면 strcpy를 이용해서 어떻게 문제를 풀까 생각을 ..
2019.04.12 -
[어설픈] LOB 17번 zombie_assassin 문제풀이
안녕하세요!오늘은 LOB 17번 문제인 zombie_assassin을 풀어보도록 하겠습니다!소스코드는 아래와 같습니다! 근데 문제 힌트에서calling functions continuously! 라고 적혀있네요! "함수를 계속해서 호출한다!"이렇게 이해하시면 됩니다! inspector(확인하는 사람)라는 변수가 전역으로 선언되어 있네요!그 값엔 0이 있습니다! 그리고 밑에 있는도(do) 개(gye) 걸(gul) 윷(yut) 모(mo) 함수들을 하나씩 보면각각의 함수가 실행되기 전에전역변수 check의 값을 확인합니다! 그래서 도->모까지 계속 함수를 실행시켜 주면됩니다!무슨말이냐? 우리나라의 전통 윷놀이에서 도:1 개:2 걸:3 윷:4 모:5 이렇게 되어있죠? 도 함수에서 check의 값을 1로 설정합니..
2019.04.10