본문 바로가기

챌린지

Lord of SQLInjection - giant 14번째 문제인 giant다. 이번 문제는 특이하게 id나 pw같은 파라미터를 받지 않고 shit이라는 파라미터를 받아서 쿼리 중간에 삽입한다. 그런데 쿼리가 삽입되는 위치가 원래 공백이 있어야 할 위치인데 그렇다면 shit 파라미터에 공백 문자를 삽입해서 쿼리가 정상적으로 수행될 수 있도록 해야 하지 않을까? 하지만 두 가지 필터링이 이를 방해하고 있다. 먼저 shit 파라미터에 전달된 글자가 한글자를 초과할 경우 종료한다. 그리고 공백 문자(' '), 개행 문자('\n'), 리턴 문자('\r'), 탭 문자('\t') 등 해당 쿼리에 공백을 줄 수 있는 다양한 문자들을 필터링하고 있다. 그럼 이 필터링된 문자들을 제외하고 어떤 한글자짜리 값을 입력해야 쿼리에 공백을 만들어 줄 수 있을까? 문제를 해결할.. 더보기
bughela - web chatting wargame.kr의 16번째 문제인 web chatting이다. 트래픽을 감소시키는 방향에 대해 개발자의 관점에서 생각해보라는 힌트가 주어져 있다. 일단 Start 버튼을 눌러서 문제를 확인해보자. BlueCHAT이라는 서비스 이름과 함께 아이디를 입력하는 간단한 입력 폼이 주어져 있다. HTML 소스를 확인해도 아이디를 입력하도록 하는 로직 말고는 별다른 점을 찾을 수 없었다. 간단하게 아이디를 입력하고 들어가 보면 다음과 같은 채팅방이 나타난다. 재밌는 점은 왼쪽 아래에 자신의 아이디를 나타내는 부분은 쌍따옴표(")에 의해 잘리는 것을 볼 수 있었다. 다른 문자들은 이스케이프 되어 그대로 표시되었으나 일반 채팅에는 따옴표, 큰따옴표나 역슬래시 등 SQL Injection을 시도해볼 만한 문자들은 이.. 더보기
Lord of SQLInjection - bugbear 13번째 문제인 bugbear다. 더보기
Lord of SQLInjection - darkknight 12번째 문제인 darkknight다. 더보기
Lord of SQLInjection - golem 11번째 문제인 golem이다. 더보기
bughela - EASY_CrackMe wargame.kr의 15번째 문제인 EASY_CrackMe다. 이번 문제는 이름에서 알 수 있듯이 리버싱 문제다. Start 버튼을 누르면 문제 파일을 다운로드할 수 있는 링크로 이동하며 윈도우즈 7에서 비주얼 스튜디오 2008을 이용하여 컴파일되었다고 알려준다. 프로그램 아이콘은 MFC며 이를 실행시켜보면 간단한 폼과 버튼이 나타난다. 어떤 글자를 입력하든 아무 문자열이나 입력하든 check 버튼을 누르면 "nono..."라는 메시지와 함께 프로그램이 종료된다. 정보를 더 얻을 순 없으니 디버거로 열어서 확인해보자. 일단 문자열을 확인해보니 MFC 프레임워크에서 사용하는 듯한 여러 문자열들을 제외하고 위처럼 "_my_b", "birth", "G00d!", "nono.." 등 프로그램에서 사용되는 문자.. 더보기
Lord of SQLInjection - skeleton 10번째 문제인 skeleton이다. 더보기
Lord of SQLInjection - vampire 9번째 문제인 vampire다. 더보기