목록SISS (2017-2018) (69)
알맹이방
level 9 힌트를 열었더니 코드가 나온다. buf 가 나오는 것을 보아 오버플로우를 이용하는 것 같다. 일단 buf2가 10이고 buf가 10이고 용량은 10인데 fget으로 buf에 40까지 넣을 수 있는 것이다. 이렇게 원래 용량보다 많은 데이터가 들어가게 되면 오버플로우가 일어나면서 에러가 생기는 것이다. 그래서 이 코드의 취약점이 fget인 것이다. 또 buf2에 첫 문구 두 자리가 go 면 풀리는 것 같다. 일단 vi를 이용해 한글이 없는 코드만을 빼왔다. 편집모드에서 x를 이용하여 한글을 다 지워줬다. 이렇게 지워줬다. 그리고 컴파일 시키고 디버깅 해봤다. fgets는 ebp-40 에 있고 문자를 받은 것으로 보아 buf에 데이터가 들어간다. 그리고 strncmp는 ebp-24에 있는데 비..
문제1.file1의 단어 수, 라인 수, 문자 수를 구하기 문제2. 1) file2의 내용을 줄(행)마다 번호붙여 출력 2) file2에서 ab가 속한 줄 출력 (대소문자 구분) 문제3. 1) 학번, 이름 text.txt파일에 저장 2) 이번학기에 공부하고 싶은 분야(시스템해킹vs웹해킹) text.txt파일에 저장 *학번,이름이 저장된 text.txt파일에 내용 덧붙일 것 *지에디트 사용금지. 터미널에서 작업할 것 문제4. 1) 숫자를 입력받아 팩토리얼을 구하는 factorial.c파일을 만들고 코드제출 - 이거를 리눅스로 코드 짜기 ( C로 일단 짜놓음) *vi, 지에디트 작업 상관 X 2) factorial.c파일을 컴파일하여 임의의 수 넣고 결과확인하기 Linux (/?l?n?ks/ (About t..
ls -al 로 열어서 hint 파일을 cat 명령어로 연다 용량이 1481이라는 것이 힌트이다. 용량을 이용해서 해당 파일을 찾는 방법을 찾아봤다. 이를 이용하여 명령어를 쳐보자 용량이 1481인 파일혹은 프로그램들을 위의 방법으로 찾아봤다. 그런데 여기서 뭘 더 해야되는지 모르겠어서 구글링 했더니 다른 문제풀이들은 다 용량이 2700인데 왜 나는 1481으로 떴는가..? 용량을 2700으로 맞췄을 때의 나오는 txt 파일이 1481로 주어져서 찾아봤을 때는 없었다. 그래서 그냥 2700로 다시 해봤는데 왜 내가 할 때는 1481인지 모르겠다. 누가 임의로 바꾼 것인가? shadow 파일이라서 일반 setuid 걸린 파일을 찾으려고 하면 나오지 않는다. 용량을 2700으로 놓고 다시 찾았더니 found..
level 7 ls -al로 열어서 cat 로 hint를 엽니다 힌트가 나온다. setuid가 걸린 파일을 find 명령어로 찾았다. /bin/level7 이 위치에 있다고 한다. cd /bin bin 파일로 들어가서 level7을 열었더니 바로 패스워드를 입력하라고 나온다. 알리가 있나. 그래서 아무거나 쳐봤더니 --_--이런 모스부호 같은 것이 나왔다. 뭔가 이진법이라는 느낌이 왔다. 그래서 위에 있는 것을 1로 아래에 있는 것을 0으로 해서 이진수를 십진수로 계산해봤다. 이진수를 십진수로 바꾼 다음 그 값을 아스킷 코드표에서 대입해봤더니 mate라는 글자가 나왔다. 패스워드에 쳤더니 풀이 성공!