Wargame
-
[pwnable.kr] Level 9 - mistakeWargame/pwnable.kr 2023. 5. 7. 18:20
Level 9 - mistake를 풀어보자. 문제를 보면 우리 모두는 실수를 하는데, 계속 나아가라고 적혀있다. (좋은 말인 것 같다.) 이번 문제에서는 특별히 해킹 기술이 필요하지는 않고, 기본 상식으로 풀어라고 되어있다. 문제에서 알려준 곳으로 ssh 접속을 해보도록 하자. flag, mistake, password 파일이 있다. 당연하게도 flag 파일을 바로 읽는 것은 막혀있다. mistake 파일을 실행해보니, 브루트포싱은 하지 마라고 한다. 그것을 방지하기 위해 프로그램을 실행할 때마다 약간의 지연이 있다. 그리고 test를 입력해보니 Wrong Password라는 문구가 출력되며 프로그램이 종료된다. mistake.c 파일로 프로그램의 코드를 살펴보자. 가장 위에는 xor 함수가 정의되어 있..
-
[Webhacking.kr] Challenge 56Wargame/Webhacking.kr 2023. 5. 7. 11:34
Challenge 56을 풀어보자. 문제 화면을 보면 게시판을 보여주는 것 같다. 두 개의 게시물이 있는데, secret이 1과 0인 것을 보면 admin의 게시물은 볼 수 없을 것 같다. 그리고 아래에 search 칸이 있는데, 이것으로 게시물을 조회하는 것 같다. 그래도 게시물을 들어가보도록 하자. 먼저 admin의 게시물은 readme를 들어가보니, access denied가 출력되면서 back 링크가 나타난다. 그리고 guest의 게시물인 hi~를 들어가보니, hello~라는 문구와 back 링크가 나타난다. 이것들을 힌트로 문제를 해결해야 된다. 이런저런 시도를 해서 알아낸 것이라 사진은 없지만, 이 문제는 search를 이용해 해결해야 한다. 제목이나 id가 아닌 그 게시물의 내용을 확인해 일..
-
[Webhacking.kr] Challenge 10Wargame/Webhacking.kr 2023. 5. 7. 11:22
Challenge 10을 풀어보자. 문제 화면을 보면 위 아래로 빨간 줄이 있고, 가운데에는 회색 줄이 있다. 회색 줄에는 왼쪽에 O라는 표시가 있고, 오른쪽에는 Goal 라인이 그려져 있다. 문제 해결을 위해 크롬 개발자 도구에서 페이지 코드를 확인해보자. O 문자를 클릭하면 오른쪽으로 1픽셀씩 움직이는데, 그 문자가 1600픽셀에 도착하면 다른 페이지로 이동한다. 그리고 O 문자에 마우스 커서를 올리면 yOu로 바뀌고, 내리면 다시 O가 된다. 페이지 코드에 ?go= 의 페이지로 이동한다고 되어 있으니 바로 목표값인 1600px를 넣어보자. 그랬더니, no hack 문구가 출력되면서 문제가 해결되지 않았다. 그렇다면, 자바스크립트문을 이용해 문제를 해결해보도록 하자. a 태그의 id가 hackme이므..
-
[Webhacking.kr] Challenge 33Wargame/Webhacking.kr 2023. 5. 7. 11:16
Challenge 33을 풀어보자. 문제 화면을 보면 Challenge 33-1이라는 문구와 view-source 링크, Wrong이라는 문구가 있다. 간단한 문제일 것 같은데, 뒤의 -1이 눈에 띈다. 페이지 코드를 보면, GET 요청으로 get 파라미터에 hehe라는 값을 넣으면 다음으로 이동할 수 있다. url에 간단하게 입력을 해주니, Wrong이었던 글자가 Next로 바뀌며 링크가 생성되었다. 웬지 문제가 길어질 것 같으니, 바로바로 페이지 코드를 보고 문제를 해결하는 방식으로 정리하도록 하자. 33-2는 post 방식으로 두 개의 입력을 해주면 된다. Burp Suite을 실행시키고 post와 post2로 입력을 해주니 문제가 해결되었다. 33-3은 GET 요청으로 myip 파라미터에 나의 i..
-
[Webhacking.kr] Challenge 59Wargame/Webhacking.kr 2023. 5. 7. 10:47
Challenge 59를 풀어보자. 문제 화면을 보면 view-source 링크와 표가 보인다. 표 안에는 입력을 할 수 있는 네 개의 칸이 보이고, 두 개의 제출 버튼이 있다. 문제의 페이지 코드를 보면, SQLi 문제인 것을 볼 수 있다. 간단하게 설명하자면, id와 phone을 입력해 가입을 하고 lid와 lphone으로 admin의 lv를 조회를 하면 된다. 가입 과정에서 id에는 admin이, phone에는 그보다 많은 것들이 필터링되고 있다. 조회 과정에서는 필터링되는 것이 없으니, 가입을 잘만 하면 문제가 해결될 것 같다. 우선 가입과 조회를 테스트해보도록 하자. id에 test를, phone에 123을 넣고 가입을 하였다. 그 후 같은 입력값으로 조회를 해보니 id는 test로, lv는 g..
-
[Webhacking.kr] Challenge 42Wargame/Webhacking.kr 2023. 5. 7. 10:29
Challenge 42를 풀어보자. 문제 화면을 보면 두 개의 파일이 있고, 다운로드를 받을 수 있도록 링크가 걸려있는 모습이다. 그 외에 다른 힌트는 없는 것 같다. flag.docx라는 파일이 정답 파일인 것 같으니, 바로 다운로드를 해보자. 당연하게도 Access Denied 알림창이 뜨면서 거절된다. 그럼 test.txt 파일은 다운로드가 되는지 확인해보자. 클릭을 하면 정상적으로 다운로드가 되고, 그 내용은 아래의 사진과 같다. 둘 사이에 무슨 차이가 있는건지 확인하기 위해 페이지 코드를 보도록 하자. test.txt에는 down 파라미터에 base64의 링크가 걸려있고, flag.docx는 alert가 걸려있다. base64로 인코딩된 값을 확인해보면 문제가 해결될 것 같다. 값을 디코딩해보면..
-
[Webhacking.kr] Challenge 23Wargame/Webhacking.kr 2023. 5. 7. 10:18
Challenge 23을 풀어보자. 문제 화면을 보면 해야하는 임무에 대해서 설명을 해준다. 그 임무는 script 태그에 alert(1)을 넣는 것으로, 생각보다 간단한 문제인 것 같다. 문제에서 제시한대로 입력을 해주었다. 역시나 문제는 풀리지 않았고, no hack이라는 문구가 출력되었다. 이런저런 테스트를 하던 중, 알게된 것인데 문자 두 개를 연속으로 입력하면 no hack이 출력된다. 숫자나 기호 등은 연속으로 넣어도 되는데 문자를 연속으로 입력하는 것만 필터링하는 방식인 것 같다. 그래서, 위의 입력 구문을 유니코드로 해보기로 했다. 결과는 아래의 사진과 같이 입력한 그대로 출력이 되는 것을 볼 수 있다. 또 이런저런 방법들로 입력을 해보다가, 문제를 해결할 실마리를 찾았다. 문자들 사이에 ..
-
[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초 제한이라는 안내 때문인 것 같다. 시간 제한에 대한 정보를 얻기 위해 ..