본문 바로가기

[webhacking.kr] Challenge 03 :: SQL Injection (Hidden Field) ▼ Challenge 03은 다음과 같습니다. Search Engine을 이용한 결과 네모로직 퍼즐이라고 합니다. 네모 부분을 클릭하면 JavaScript에 의해 색상이 Black으로 바뀌고 "kk._1~25" 값이 변경됩니다.이 값들을 열거해 놓은 "answer" 변수를 GET 방식으로 전송하여 일치하면 다음 페이지로 넘어갑니다. 네모로직 퍼즐을 푸는 방법은 검색하시기 바랍니다. ▼ 퍼즐을 맞추면 다음과 같은 페이지가 나옵니다. Input Form에 무엇을 입력하여도 문제가 풀릴 기미가 보이지 않습니다.SQL Injection을 해도, 그대로 출력만 됩니다. name을 입력 받는 페이지에서 소스를 보니, Hidden Field로 "answer" 변수를 전송하고 있습니다.이곳에 Singe Quote를 입.. 더보기
[webhacking.kr] Challenge 60 :: Race Condition ▼ Challenge 60은 다음과 같습니다. ▼ php 코드는 다음과 같습니다. Cookie의 PHPSESSID 중에 숫자가 포함되어 있으면 코드가 종료됩니다. if 문은 나중에 보고, "$_SESSION[id].txt" 파일에 "$_SESSION[id]" 값을 Write 합니다. 그 다음, 만약 "$_SERVER[REMOTE_ADDR]" 값이 "127.0.0.1"이 아니면 파일을 다시 삭제합니다. 다시 위로 올라가서, GET으로 "auth"를 보내면, "$_SESSION[id].txt" 파일의 내용을 "$result"에 넣고, "$result"에 "$_SESSION[id]" 내용이 포함되어 있으면 문제가 풀리게 됩니다. 즉, 쉽게 이야기하면, 원래 "mode=auth" Query를 보내면 자동으로 풀.. 더보기
[webhacking.kr] Challenge 49 :: SQL Injection (Hex) ▼ Challenge 49는 다음과 같습니다. ▼ php 코드는 다음과 같습니다. Challenge 46번(http://limjunyoung.tistory.com/88)과 문제가 동일하고,필터링하는 문자만 약간 차이가 있습니다. 46번에서는 "괄호"는 사용가능하고 "0x"는 필터링 되어 있었습니다. 49번에서는 "괄호"는 필터링 되어 있고, "0x"는 사용가능 합니다. 그렇다면 Challenge 61(http://limjunyoung.tistory.com/73)에서 처럼 16진수 값을 이용하여 해결하면 될 것 같습니다. ▼ 최종 풀이는 다음과 같습니다. 더보기