webhacking (18) 썸네일형 리스트형 HackCTF - Web - Authorized 풀이 문제 페이지에 들어가자마자 권한이 없다고 한다. 웹해커들의 종특? 일단 코드를 본다. 예상대로 힌트를 얻었다. 내 Auth Type이 False라는것이다. 이때 문득 떠오른 한 가지 방법 그냥 GET으로 Auth = True를 보내보면 어떨까? 쨘. 이렇게 풀리게 된다. (솔직히 이게 진짜 될줄은 상상도 못했다) HackCTF - Web - Hidden Flag 풀이 문제 페이지를 들어가면 로봇이 반겨준다. 로봇? 로봇???!!! robots.txt??? 라고 생각해서 robots.txt를 열어보았다. 게싱이 적중했다. robots.txt가 존재했고, robot_flag라는 디렉토리를 Disallow해놓은것으로 보아 이곳에 플래그가 있는 것 같다. 예상대로 robot_flag라는 디렉토리에 들어갔더니 플래그가 나왔다. wargame.kr md5_compare 풀이 오늘은 md5_compare문제를 풀어보려고 한다. 문제에 들어가니 다음과 같은 폼이 기다리고 있다. view-source라고 되어있는 링크를 눌러 코드를 분석해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Colored by Color Scripter cs ctype_alpha는 값이 모두 알파벳일떄 true를 리턴해주는 함수이고, is_numeric은 값이 숫자일때 true를 리턴해주는 함수이다. 따라서 우리는 VALUE 1에는 알파벳을, VALUE 2에는 숫자를 입력해주어야 하고, 그 두 값의 md5의 해시가 같아야 플래그가 나온다는 사실을 알 수 있다. md5 해시를 어떻게 같게할 수 있을까? 불가능하다. 그런데 여기서.. webhacking.kr 27번 문제 풀이 오늘은 27번 문제를 풀어보자. 이 페이지의 코드를 확인해 봤을떄 필터를 한번 거친 후 넘겨받은 no를 db 쿼리문에 바로 넣어 처리하는 것 같았다. webhacking.kr 38번 문제 풀이 오늘은 38번 문제를 풀어보자. 흠 Admin이라는게 참 탐나보여 눌러보니 로그를 확인하는곳으로 추정되는 페이지로 이동되었다. 저 페이지의 코드를 둘러보던 중 admin이 힌트라는 주석을 찾았다. 그래서 나는 무턱대고 admin을 입력했다. 당연히 될리가 없다. 그래서 아무 글자나 치고 테스트해보니 로그에는 IP:내용 의 형태로 입력되는것 같다. 그리고 admin의 앞과 뒤에 문자가 있으면 필터링하지 않는것 같다. 그러면 admin이라는 단어를 만들어주기 위해서는 admin\n이 되어야 할 것이라고 예상했다. 이렇게 치고 Admin을 눌러 들어가니 놀랍게도 문제가 해결되었다. WEBHACKING.KR 38번 문제 클리어! webhacking.kr 42번 문제 풀이 오늘은 42번 문제를 풀어보자.저 압축파일 주세요~싫어욧! 그래서 test.txt를 눌렀더니 test.txt는 정상적으로 불러온다. 그런데 어찌 링크가 수상하다. =가 있는걸 봐서 Base64임이 분명하다. BINGO! 따라서 test.zip을 받으려면 Base64로 인코딩하여 요청해야한다고 생각했다. 인코딩으로 나온 결과값을 보냈더니 test.zip파일을 받을 수 있었다. 하지만 이 파일에는 비밀번호가 걸려있었는데, 이 문제의 index에 주석으로 힌트가 있었는데... 이 파일의 비밀번호는 숫자로만 이루어져있습니다? 그럼 상용 브루트포스 프로그램을 사용해봅시다.돌린지 얼마 되지 않아 비밀번호가 852라는 결과를 안겨줍니다. 이 값으로 압축되어있던 readme를 풀었고, 그 안에는 링크가 하나 있었다. .. webhacking.kr 3번 문제 풀이 - 또는참 WEBHACKING.KR 3번 문제 풀이[ 또는참 ]그럼 오늘은 webhacking.kr 3번 문제를 풀어보도록 하자.얼추 눈치챈 사람들도 있겠지만 사이드에 있는 숫자들이 괜히 있는게 아니다. 위와 같이 이 퍼즐을 맞추고 gogo버튼을 누르고 나면 플래그가 나올것 같지만, Hello World ^^ 이름치는 칸이 나온다. 아무거나 입력하고 write 버튼을 누르니 입력이 된다. 그런데 입력하면 스택이 쌓이는 형태인것으로 보아, DB에 저장해주는것 같다. 따라서 우리는 일정한 값이고, 수정이 가능한 값을 찾아야 한다. 그래서 자세히 들여다보니 answer이 우리가 맞췄던 퍼즐의 값으로 우리가 찾던 조건과 정확히 부합하는것을 알 수 있다.따라서 form에서 숨겨져있는 필드인 answer의 값을 변조해보자. .. wargame.kr type confusion 풀이 - json WARGAME.KR type confusion 풀이[ json ]오늘은 wargame.kr의 type confusion 문제를 풀어보자. 문제에 들어가면 다음과 같이 입력창 하나와 이 페이지의 소스코드를 준다. 우선 제공해준 Backend단의 코드를 한번 분석해보자. 우선 0.5초(500000 마이크로초)를 대기한 후, lib.php를 적재한 후 json형태로 넘겨받은 데이터를 파싱해 $json에 저장한다.$key에 welcome to wargame.kr!_(랜덤 문자열)가 SHA1으로 암호화된 값을 대입해준다.파싱된 JSON($json)에서 key값이 $key의 값과 같으면 flag를 출력해주고, 다를 경우 false로 응답해주는 $ret를 json 형태로 작성하여 응답해준다. 그럼 이제이 사이트에 있.. 이전 1 2 3 다음