본문 바로가기

전체 글

(638)
[webhacking.kr] 웹해킹.kr old-26번 (100) 이번에는 webhacking.kr의 old-26번 문제입니다. php를 이용하는 문제고, 100점이 배점되어 있습니다. 문제에 들어가면 위와 같은 검은 화면만 뜹니다. 소스 코드를 보겠습니다. 코드를 보니 GET 방식으로 넘겨주는 id가 admin일 때 문제가 해결됩니다. 그 위에는 id를 urldecode() 함수를 통하여 디코딩 해주었습니다. 디코딩을 해주었으니 인코딩을 해주어 원래대로 변환해주어야 합니다. 인코딩 표를 참고하겠습니다. admin => %61%64%6d%69%6e 입니다. GET 방식으로 넘겨주므로 URL을 바꿔보겠습니다. 인코딩을 진행한 값을 넣어도 admin으로 자동 변환됩니다. 웹 서버와 브라우저 간의 통신에서, 브라우저는 form에서 입력받은 데이터를 자동으로 인코딩한 값을 P..
[webhacking.kr] 웹해킹.kr old-24번 (100) 이번에는 webhacking.kr의 old-24번 문제입니다. php를 이용하는 문제고, 100점이 배점되어 있습니다. 문제에 들어가보면 위와 같은 화면이 나옵니다. client ip와 agent의 정보가 출력됩니다. 그 아래에는 IP 주소가 잘못되었다고 나옵니다. 소스 코드를 보겠습니다. 아래에 if 조건문을 보니 ip 변수가 127.0.0.1이 되면 solve가 됩니다. 위에서 ip 변수에는 REMOTE_ADDR이라는 변수를 대입하였습니다. REMOTE_ADDR 변수는 사용자의 ip 주소를 나타냅니다. 이 ip 변수를 조작하여 127.0.0.1로 변환하면 문제가 풀릴 것입니다. 쿠키에는 REMOTE_ADDR이 존재하지 않아서 REMOTE_ADDR이라는 이름을 가진 쿠키를 생성하겠습니다. 크롬에서는 어..
[webhacking.kr] 웹해킹.kr old-1번 (200) 이번에는 webhacking.kr의 old-1번 문제입니다. PHP를 이용하는 문제고, 200점이 배점되어 있습니다. 처음 들어가면 위와 같은 화면이 뜹니다. 레벨이 1인 상태로 소스 코드를 보겠습니다. 아래쪽에 있는 php문을 해석해보면, user_lv이 6 이상이면 1로 처리되고, 5보다 크면 풀린다고 합니다. user_lv 쿠키를 확인하고 값을 5와 6 사이의 값인 5.5로 넣어보겠습니다. 쿠키 값을 5.5로 바꾸니 문제가 해결되었습니다.
[webhacking.kr] 웹해킹.kr old-32번 (150) 이번에는 webhacking.kr의 old-32번 문제입니다. 소스 코드를 이용하는 문제고, 150점이 배점되어 있습니다. 처음 들어가면 아래와 같은 랭킹이 출력됩니다. 맨 밑으로 내려보면 1218등에 본인의 id가 적혀있을 것입니다. 랭킹을 1등으로 만들거나, hit 수가 100을 만족하면 풀릴 거라고 생각하였습니다. 한 번 투표를 하면 1 / 100 이 되고, 이후에 투표를 하려면 이미 투표를 했다고 경고창이 뜹니다. 목표를 달성하려면 경고창이 뜨지 않게 해야하기 때문에, 쿠키를 보겠습니다. 쿠키에 vote_check라는 쿠키가 존재합니다. 값은 ok로 설정되어 있습니다. 이를 삭제하고 다시 본인의 id를 클릭하면, hit 수가 정상적으로 올라갑니다. 쿠키를 삭제하고 클릭하고를 반복하다보니 너무 힘들..
[webhacking.kr] 웹해킹.kr old-14번 (100) 이번에는 webhacking.kr의 old-14번 문제입니다. javascript를 이용하는 문제고, 100점이 배점되어 있습니다. 들어가면 input box가 존재합니다. 소스 코드를 보겠습니다. 변수 ul에 해당하는 값을 입력하면 되는 것 같습니다. indexOf() 함수에 대하여 찾아보니 문자열에서 입력한 문자의 위치를 인덱싱해주는 함수입니다. 크롬의 console 창을 띄워 ul을 구해보겠습니다. 540이라는 값이 나옵니다. 이를 input box에 넣고 check 버튼을 누르면 문제를 해결할 수 있습니다.