본문 바로가기

[webhacking.kr] Challenge 26 :: URL Encode ▼ Challenge 26은 다음과 같습니다. (바로 index.phps로 들어간 화면 입니다.) GET방식으로 받은 id라는 변수에 eregi()를 이용하여 admin 문자열이 있을 경우 "no!" 라는 글자를 띄우고 있습니다. 그 다음, 해당 id 변수를 URL Decoding한 것이 admin이 되면 문제가 풀리게 됩니다. ▼ URL은 "%**"라는 문자를 16진수인 "0x**"문자로 인식합니다. 따라서 다음과 같이 Query를 전송하면 "admin"이라는 문자로 인식하므로 "no!"라는 문구가 출력이 됩니다. 따라서, %2561%2564%256d%2569%256e 라고 Query를 전송하면, %25는 문자 "%"로 인식하고 최종적으로 URL은 "%61%64%6D%69%6E" 라는 문자로 인식을 하.. 더보기
[webhacking.kr] Challenge 24 :: Cookie ▼ Challenge 24는 다음과 같습니다. 현재 사용자의 클라이언트 IP와 브라우저 정보가 나와 있습니다. 소스코드를 보니 index.phps라는 주소가 나와 있어, 바로 이동해 보면 ▼ 다음과 같은 php 코드가 나옵니다. $_SERVER : 웹 서버에 의해 만들어진 Headers, Paths, Script locations 와 같은 정보를 포함하고 있는 배열$_COOKIE : name, value, expire 등의 쿠키 정보를 포함하고 있는 배열$_SERVER[REMOTE_ADDR] : 클라이언트(사용자)의 IP 주소$HTTP_USER_AGENT : Request Header의 User-Agent 내용extract() : (쉽게 설명하면) 배열 안의 값을 변수화 시켜주는 함수 $ip. 즉, $_.. 더보기
[webhacking.kr] Challenge 14 :: Javascript ▼ Challenge 14는 다음과 같습니다. ▼ 소스코드를 보니 Javascript가 있습니다. URL에서 ".kr" 위치를 반환받아서 30을 곱하는 형식이군요.indexOf() : 해당 문자열의 첫번째 위치를 반환 (0부터 시작) ▼ 브라우저 개발자 도구에서 Javascript를 사용하여 문제를 풀어보도록 하겠습니다. ▼ 해당 값을 입력하면 Password가 alert 됩니다. 더보기