분류 전체보기
-
[Webhacking.kr] Challenge 20Wargame/Webhacking.kr 2023. 5. 7. 09:30
Challenge 20을 풀어보자. 문제 화면을 보면 입력이 가능한 세 개의 칸이 있고, Submit과 reset 버튼이 있다. 그리고 우측 상단에 2초의 시간 제한이 존재한다는 표시가 있다. 별다른 힌트는 없는 것 같으니, 페이지의 코드를 보도록 하자. 크롬의 개발자 도구에서 페이지 코드를 보면, script에 ck라는 함수가 있다. 각 칸이 공백일 때 제출을 누르면 위에서부터 초점이 가고, captcha는 같은 값으로 입력해야 한다. 문제에서 원하는대로 일단 각 칸을 채워보도록 하자. nickname과 comment, captcha를 채우고 Submit을 누르니, Too Slow...라는 문구가 출력된다. 아마도 우측 상단의 2초 제한이라는 안내 때문인 것 같다. 시간 제한에 대한 정보를 얻기 위해 ..
-
[정리] 23.04.../정리 2023. 5. 5. 11:21
블로그에 작성한 글을 토대로 23년 4월, 한 달 동안 공부한 내용을 정리해보자. [Wargame] Webhacking.kr : Challenge 14개 ( + 3월 31일 4개) pwnable.kr : Level 5 ~ 8 *블로그에 없는 개인 공부* SQL : Programmers 새로 추가된 문제(완) Overthewire - narnia (17개) 디지털 포렌식 전문가 2급 필기 시작 이번 달은 쉬운 문제들은 점점 정리하면서, 좀 더 난이도가 있는 문제들을 보려고 노력하였다. 다양한 사이트의 다양한 문제들을 보면서 공부할 것들이 늘어나고 있지만, 착실히 수행 중이다. 대부분은 블로그에 wirte-up을 쓰지 않고 있지만, 개인적으로 정리를 하고 있다. 또한 새로운 자격증 공부를 시작했다.
-
[Webhacking.kr] Challenge 36Wargame/Webhacking.kr 2023. 4. 23. 08:09
Challenge 36을 풀어보자. 문제 화면을 보면 영어를 해석해야 한다. 간단하게 풀이를 해보면, index.php 파일을 vi 에디터를 통해 작성하던 중 정전으로 날라가버렸다고 한다. 이건 vi 편집기를 이용했을 때의 특징을 알면 간단하게 해결할 수 있는 문제이다. vi 편집기는 작업을 하는 중 갑작스러운 종료가 되면, swp 파일을 생성한다. index.php 파일을 작업하던 중 갑작스럽게 종료가 되었으므로 .index.php.swp 파일이 생성되었을 것이다. 여기서 파일의 이름 앞에 .이 붙는 것은 이 swp 파일이 숨겨진 파일이기 때문이다. url 창에 입력을 하면 파일이 다운로드 되는데, 그것을 메모장으로 열면 flag를 확인할 수 있다.
-
[Webhacking.kr] Challenge 61Wargame/Webhacking.kr 2023. 4. 23. 08:05
Challenge 61을 풀어보자. 문제 화면을 보면 별다른 힌트가 없다. 빠르게 페이지 소스를 보도록 하자. 페이지 코드를 보면, SQLi 문제라는 것을 알 수 있다. addslashes로 인해 ', ", \, NULL을 필터링한다. 또한 (, ), select, fromm, 콤마, by, 온점 문자를 필터링하고 있다. 그리고 입력하는 id의 길이가 15자를 초과하면 Access Denied가 출력된다. 여기서 주의할 것은 where 절에서 입력을 받던 다른 문제들과 달리, select에서 입력을 받는다는 것이다. 우선 어떤 id가 가장 먼저 출력이 되는지 알아보기 위해 'id'를 id의 값으로 넣어보았다. 그랬더니 'test'가 출력이 되었는데, order by id desc limit 1으로 인해 ..
-
[Webhacking.kr] Challenge 47Wargame/Webhacking.kr 2023. 4. 23. 07:54
Challenge 47을 풀어보자. 문제 화면을 보면 Mail subject라는 문구와 함께 입력 창이 있고, send 버튼이 있다. 기존에 입력되어 있는 값을 변경하지 않고, send 버튼을 누르자 Mail has been sent 문구가 출력되었다. 어딘가로 메일을 보내는 것 같은데, 그건 중요한게 아닌 것 같고 이것과 관련된 공격이 무엇인지 알아야겠다. 우선 페이지 코드를 보면서 어떤 식으로 동작을 하는지 확인해보도록 하자. 그런데 form 형식에서 입력하는 것 말고는 특별히 힌트가 될만한 것이 없다. 이 문제는 SMTP(Mail) Header Injection을 이용해 해결해야 하는 문제이다. 이 공격은 메일의 헤더에 추가 헤더를 삽입하는 것이다. 이번 문제에서는 헤더에 참조(cc, Bcc)를 추..
-
[Webhacking.kr] Challenge 25Wargame/Webhacking.kr 2023. 4. 23. 07:30
Challenge 25를 풀어보자. 이 문제는 새로운 개념이 필요했고, 혼자서 해결하려고 했지만 결국 다른 블로그들을 참고하였다. 문제 화면을 보면 리눅스에서 디렉터리 내의 정보를 보여주는 듯한 화면이 출력되어 있다. 그리고 아래의 칸에는 'hello world'라는 문구가 출력되어 있다. 위의 url에서 get 요청으로 해당 파일의 내용을 읽어주는 듯하여, file=flag를 입력해보았다. 그 결과, 'FLAG is in the code'라는 문구가 출력되는 것을 볼 수 있다. 여기서 LFI 공격을 통해 문제를 해결할 수 있는데, 문제는 flag를 읽는 방법을 모른다는 것이다. 그래서 구글링을 통해 찾아본 것이 PHP Wrapper라는 개념이었다. 이것은 데이터의 앞에서 틀을 잡아주는 프로그램으로, 이..
-
[Webhacking.kr] Challenge 19Wargame/Webhacking.kr 2023. 4. 23. 07:15
Challenge 19를 풀어보자. 문제 화면을 보면 id에 admin이 입력되어 있고, 제출 버튼이 있다. 바로 문제가 해결될 수도 있으니 제출을 눌러보자. 'you are not admin' 문구가 출력되며 역시나 문제가 해결되지 않는다. 크롬 개발자 도구를 이용해 페이지 코드를 확인해보도록 하자. 이번에는 페이지 코드에서도 별다른 힌트를 발견할 수가 없다. 'admin'으로 제출을 했을 때, 쿠키 값도 없었기 때문에 어떤 식으로 문제를 해결할 지 애매했다. 그래서 다른 값으로 'test'를 제출했는데, 긴 값을 가진 userid라는 쿠키가 생성되었다. %3D로 끝난 것으로 보아 Base64 인코딩이 된 것 같았고, 이것을 디코딩하니 긴 문자가 생성되었다. 그런데 그 문자의 길이가 128자가 되었다...
-
[Webhacking.kr] Challenge 58Wargame/Webhacking.kr 2023. 4. 23. 07:03
Challenge 58을 풀어보자. 문제 화면을 보면 빈 화면으로 나타나는데, 아래에 입력 칸이 있고, Send 버튼이 있다. 입력을 통해 출력되는 정보로 해결하는 문제인 것 같다. 크롬 개발자 도구로 페이지 코드를 보면, 부분에 function이 있다. function에서의 'm'이 form에 들어가는 입력이 되고, 이것의 결과가 출력이 된다. 명령어는 guest의 이름으로 실행하게 되는 것 같다. 간단하게 입력을 몇 가지 해보도록 하자. id, ls, flag가 동작한다. (help를 치면 어떤 명령어를 사용할 수 있는지 출력된다.) 그런데, flag는 admin만 사용할 수 있는 명령어인 듯 하다. 이것을 해결하기 위해 function을 조금 수정해보도록 하자. 크롬의 개발자 도구에서 Console..