52단계의 초기 페이지이다. 소스코드는 특별한게 없다. 헤더생성을 클릭하면 "khe0616"이라는 값을 가진 변수"id"가 서버에 GET방식으로 전송된다. Burp Suite를 이용하여 헤더생성을 클릭하기 전, 후의 헤더를 비교하였다. 헤더생성 클릭전 헤더생성 클릭후id: khe0616 이라는 헤더가 추가되었다.즉, $_GET[id]로 헤더 인젝션이 이루어졌음을 알 수 있다. 주의할점은, 모든 페이지에서 (초기url)/?id=khe0616 을 입력했다고 헤더부분에id: khe0616이 추가되는 것은 아니다.52단계 페이지를 코딩할때 (초기url)/?id=khe0616입력시 헤더에 id: khe0616 이 추가되도록 구현 해놓은 것일 뿐이다. 따라서,(초기페이지 url)/?id=khe0616%0D%0ASe..
초기 화면이다. test.txt와 test.zip를 다운로드할 수 있도록 되어있다. 코드를 확인하였다. test.txt의 download 클릭시 -> GET방식으로 "down"에 "dGVzdc50eHQ="라는 값을 넣어 서버에 전송한다. test.zip의 download 클릭시 ->"Access Denied"라는 알림 메시지가 뜬다. 실제로 test.txt의 download클릭하면 나타나는 화면이다. 정답과는 거리가 멀어보인다. 실제로 test.zip의 download클릭하면 나타나는 화면이다. 초기 페이지의 표에서 test.zip파일의 subject가 read me인 것이 힌트이다. download를 클릭하면 다운로드 되지 않지만 다른 방법이 있다. 위에서 test.txt의 download를 클릭하면 ..
25번 문제의 초기화면 리눅스 방식으로 파일의 이름과 권한이 나타나있다. 읽기는 누구나 가능하다고 나와있다. hello.txt로 들어가니 초기화면의 회색 텍스트 상자에 출력되었던 hello world가 보인다. 초기화면에서는 hello.txt가 실행되서 회색 텍스트 상자에 출력되는 것 같다. 코드를 확인해 봤으니 별 내용이 없다. 초기화면의 URL인데, ?file=hello 부분이 힌트인 것 같다. GET방식으로 "file"이라는 변수에 "hello"라는 값을 넣어 전송하고 있다. hello라는 값을 전달했기때문에 hello.txt가 실행된 것으로 보인다. 위와 같은 원리로 password.php를 실행시켜 그 내용이 회색 텍스트 상자에 출력된다면 답을 알아낼 수 있을 것이다. 따라서 "file"이라는 ..