Wargame/Webhacking.kr

    [Webhacking.kr] 12번 풀이 (250p)

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. 개발자 도구를 이용해 코드를 확인하자. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ Javascript 문제에 가끔씩 출몰(?)하는 녀석이다. Javascript Obfuscate에 해당하는 Javascript Emoji이다. 찾아보니 aaencode 종류라고 한다. Decode 사이트에 들어가 난독화를 풀어보자. https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html JSBeautifier을 이용해 코드를 예쁘게 다듬어보자. (잘 안보이네..) 코드를 읽어보니 enco_라는 함..

    [Webhacking.kr] 36번 풀이 (200p)

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. vi로 index.php 끄적거리다가 전원이 나가버려서 소스코드가 사라졌다고 한다. 리눅스를 많이 사용해본 입장에서 나도 이런 적이 몇 번 있다. 그러므로 이 문제는 그냥 보자마자 풀었다. FLAG 내용도 정말... 별로다...

    [Webhacking.kr] 33번 풀이 (200p)

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. view-source를 눌러 코드를 확인하자. ?get=hehe를 값으로 넘기면 해결되는 듯하다. 넘어가 보자. 똑같이 코드를 확인하자. post는 url을 통해 값을 넘겨줄 수 없다. 개발자 도구를 이용해 HTML를 수정해주자. 각각 hehe, hehe2를 입력하고 GO를 눌러보자. 넘어가 보자. view-source를 눌러 코드를 확인하자. ?myip=를 값으로 넘기자. 넘어가 보자. view-source를 눌러 코드를 확인하자. ?password=time()함수로 불러온 값에 md5 encrypt를 한 값이다. 푸는데.. 여러 가지 방법..

    [Webhacking.kr] 47번 풀이

    문제 종류 - Web 사용한 툴 - Burp Suite Flag, Hint, 정답 형식 flag: hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. send를 눌러보자. SMTP이다. 자세히 보면 보내는 곳의 주소가 no-existed이고, 밑에 FLAG가 적혀있는 모습이다. Mail subject text 부분을 이용해 참조를 이용한 CRLF Injection을 시도해보겠다. Injection Code: flagCc: bjloed@ajou.ac.kr 그 후, Burp Suite를 이용해 byte를 삽입해줬다. 이제 메일을 확인해보자.

    [Webhacking.kr] 32번 풀이

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. 1등 닉네임을 눌러봤더니 Hit가 1 올라갔다. 다시 눌러보면 다음과 같이 알림창이 나타난다. 맨 밑에는 내 닉네임이 있다. 무슨 방법으로 투표를 했는지 검사하는 루틴을 찾기 위해 쿠키 값을 봐봤다. vote_check에 ok란 값이 설정되어 있었다. 저 쿠키의 값을 바꿔도 계속 알림창이 나타나는 것을 보아하니 단순히 쿠키 존재 여부로만 검사하는 듯하다. EditThisCookie를 이용해 vote_check 쿠키를 금지시키자. 그 후, 나는 파이썬으로 매크로 코드를 짜 실행시켰다.

    [Webhacking.kr] 19번 풀이

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. 아쉽게도 이번엔 코드가 주어지지 않는다. 아무 값을 입력하면 다음과 같은 화면이 나타난다. admin을 입력할 시, 다시 돌아가라고 한다.. admin으로 로그인하면 성공하는 문제인 듯하다. -> 어라..? 그냥 시도하다가 중간에 풀려버려서 풀이 과정을 찍지 못했다 ㅠ.ㅠ (글로 설명) 먼저 Null-Byte Injection을 의심해 %00와 %20을 넣어봤지만 실패.. 그래서 %00을 urlencode해 %2500으로 넣고 다시 시도해봤지만 00admin이라고 나타나 실패.. 혹시 %를 검사하는게 아닌가 싶어서 %%admin을 넣어봤더니 ..

    [Webhacking.kr] 14번 풀이

    문제 종류 - Web 사용한 툴 - Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. 개발자 도구를 이용해 코드를 분석해보자. var ul = document.URL ul = .kr이 나타나는 지점 ul *= 30 만약 ul == pw.input_pwd.value면 해결되는 듯 하다. //18 먼저 ul은 문제 URL 값이 들어가있다. (https://webhacking.kr/challenge/js-1/) .kr이 나타나는 지점을 카운팅 해보면 18번째 이다. (배열은 0번부터 시작) 그러므로 ul = 18*30이다. 끝..

    [Webhacking.kr] 24번 풀이

    문제 종류 - Web 사용한 툴 - EditThisCookie Flag, Hint, 정답 형식 flag: ? hint: X 정답 형식: ? 풀이 문제에 들어가면 다음과 같은 화면이 나타난다. view-source를 눌러 코드를 확인하자. $ip = Your IP $agent = HTTP_USER_AGENT; 1) if문에서 htmlspecialchars와 str_replace 함수를 거친다. 2) if문에서 $agent = htmlspecialchars 함수를 거친다. 만약 $ip == 127.0.0.1이라면 문제가 해결된다. 첫 번째 if문 str_replace 함수는 다음과 같다. 그냥 이 규칙에 맞춰서 127.0.0.1을 완성해주면 문제를 풀 수 있다. 여기서 REMOTE_ADDR 값을 임의로 바꿔..