Challenge/wargame.kr (8) 썸네일형 리스트형 [Wargame.kr] md5 compare 우선 소스코드를 살펴보자 입력한 value1은 v1에 저장되고, value2는 v2에 저장한다. ctype_alpha()는 알파벳으로 구성되어있는지 확인하는 함수로 true or false를 반환한다. is_numerice()은 숫자로 구성되어 있는지 확인하는 함수로 true or false를 반환한다. v1이 알파벳이 아니면 false를 반환하고, v2가 숫자면 flase를 반환한다. md5($v1), md5($v2)이 다르면 false를 반환한다. 그러므로 v1은 알파벳이고, v2는 숫자이며 v1과 v2의 md5값이 같아야 한다. 어떻게 할 수 있을까?? php는 int형과 char형을 구분하여 선언하지 않는다고 한다. 또한, md5 함수에 넣었을 때 해쉬값이 0e로 시작하는 경우 두 값을 비교하면 .. [Wargame.kr] md5 password get source를 클릭해서 코드를 확인해보자 [Wargame.kr] WTF_CODE 링크를 클릭해서 문제 파일을 다운로드한다. 확장자 .ws를 가진 파일은 화이트 스페이스 언어 파일이다. 화이트 스페이스 언어도 하나의 프로그래밍 언어이다. ideone.com/ Ideone.com Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages. ideone.com 위 링크는 온라인 컴파일러로 여러 언어를 컴파일할 수 있다. 위 사이트에서 언어를 화이트 스페이스 언어를 선택하고 파일의 내용을 복붙 한 후 컴파일하면 플래그가 나온다. [wargame] wtf_code 내가 알지 못하는 언어를 가지고 문제를 푸는 것 같다. 문제 페이지를 들어가면 파일을 다운 받을 수 있다. 파일은 .ws 확장자로 끝나는 파일이다. .ws 확장자는 whitespace 언어로 작성된 파일이다. https://ideone.com/ Ideone.com Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages. ideone.com 페이지에서 whitespace 코드를 컴파일 할 수 있다. 다운 받은 파일을 열어 코드를 확인해보면 아무것도 보이지 않고 전체 .. [wargame] login filtering 로그인을 우회하는 문제이다. 소스코드 일부를 보면 입력한 아이디와 비밀번호를 가지고 selelct문을 실행하고 아이디가 guset이거나 blueh4g 이면 계정이 잠겼다는 메시지를 출력한다. sql은 php와 달리 대소문자를 구분하지 않는다. 그래서 아이디에 대문자를 섞어서 로그인하면 select문도 잘 동작되고 if 문에서도 걸리지 않는다. 대문자가 섞인 아이디로 로그인하면 flag를 얻을 수 있다. [wargame] qr code puzzle qr 코드 퍼즐을 해결하는 문제이다. 문제 페이지에 들어가면 qr 코드 퍼즐이 있다. 우선 페이지의 소스코드를 확인한다. 소스 코드를 확인해보니 이전 문제와 같은 unescape()가 있다. 함수 안에 있는 문자열을 [작업관리자]-[console]에 넣어 실행하면 이미지 주소가 나온다. 해당 주소로 이동하면 완성된 qr 코드가 나온다. 휴대폰을 이용해 qr 코드 페이지로 이동하면 flag가 나온다. [wargame] flee button 문제 페이지로 들어가면 버튼이 마이크를 따라 이동해서 버튼을 클릭할 수 없다. [개발자 도구]로 소스코드를 보면 난독화(인코딩)된 문자들이 보인다. 그 문자들을 디코더에 돌려보았지만 여러 문자열만 나와 소득이 없었다. eval() 함수는 괄호 안의 문자열을 실행하는 함수이다. unescape() 함수는 괄호 안의 문자열을 디코딩해주는 역할을 한다. (알고보니 unescape()와 unescape_blue14()는 관련이 없었다. blue14()는 사용자 정의 함수이다.) 소스 코드를 살펴보면 링크가 하나 있다. ./p8.js로 이동하면 정의된 함수들이 있다. 함수들이 정의되어 있으니 이를 이용하면 된다. [개발자 도구]-[console]에서 코드를 실행해 보았다. 어느 정도 해독이 되었다. 한 번 더 실.. [wargame]already got http 응답 헤더를 입력하는 문제이다. 문제 페이지에서 F12를 눌러 [개발자 도구]를 연다. [개발자도구]-[Network]탭을 누른 후 문제 페이지에서 새로고침하면 헤더 정보들이 출력된다. Response Headers 내용을 살펴보면 FLAG가 있다. 그 내용을 입력하면 성공이다. **와이어 샤크를 이용해서도 가능하다.** 이전 1 다음