webhacking.kr

    webhacking.kr Level 54 문제풀이

    webhacking.kr Level 54 문제풀이

    Level 54 Password is 페이지를 열고 시간이 좀 지나니 아래 처럼 계속 문자열이 하나씩 출력 되었다. 크롬으로 살펴보니, 1초마다 m파라미터 값을 0부터 31까지 1씩 증가시키면서 출력하고 있다. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return null; } } }else if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ return null; } } x=ru..

    webhacking.kr Level 52 문제풀이

    webhacking.kr Level 52 문제풀이

    Level 52 😭 죽어라 삽질했던 문제... 아직도 문제 출제의도 이해가 안간다. 삽질 이유를 말하자면, 문제에서 id=haks2198라는 쿠키를 생성하라고 하는데, 쿠키생성할 필요가 없다 ;; 그래도 풀이 과정을 적어보자💢 '헤더인젝션'이라는 단어를 처음 접하게 되어 구글링을 해보았다. 헤더인젝션은 공격자가 헤더에 개행문자를 삽입해 헤더를 추가하여 공격하는 수동적 공격방법이다.즉 개행문자('\r\n')를 필터링하지 않으면 생기는 문제이다.\r(%0d) : Carrige Return 커서를 맨 앞으로 이동시킨다.\n(%0a) : Line Feed 커서를 다음줄로 이동시킨다. 쿠키를 생성하는 방법은 'Set-cookie:'를 이용하면 된다. 먼저 '헤더생성'을 눌렀을 때 패킷을 살펴봤다. Request ..

    webhacking.kr Level 51 문제풀이

    webhacking.kr Level 51 문제풀이

    Level 51 id 와 pw 를 입력받는다.

    webhacking.kr Level 47 문제풀이

    webhacking.kr Level 47 문제풀이

    Level 47 email값이 POST방식 일 때 mail함수가 실행된다. mail함수는 ("받는사람 주소", "메일 제목", "메일 내용", "헤더내용(옵션)") 이런 형식으로 되어있다. 그리고 header값에는 우리가 입력할 수 있는 값이 들어가게 된다. 여기서 우리가 입력한 값으로 조작 할 수 있는 것은 header의 값이다. 구글링해보니 mail 함수에서 header값에 참조인을 넣을 수 있다. 즉 받는 사람 이외에 참조인도 메일을 받을 수 있게 되는 것이다. cc: [메일주소] 형식으로 넣어주면 된다. 따라서 우리는 헤더를 header = "From: abcd@naver.com\r\ncc:haks2198@naver.com\r\n" 으로 만들면 된다. \r : %0d\n : %0a abcd@nav..

    webhacking.kr Level 38 문제풀이

    webhacking.kr Level 38 문제풀이

    Level 38 "admin" 문자열을 넣고 'login'버튼을 누르면 "you are not admin "이라는 메시지가 출력된다. "Admin"버튼을 누르면 log파일 내용이 보여지는데, [자신의 IP] : 입력한 값 이 로그에 남게 된다. 그런데 admin이라고 입력한 값은 존재하지 않는다. log [내 아이피]:admin -- 소스를 살펴보니 힌트는 admin이라고 한다. 로그파일에 [IP] : admin 이라고 남기게 되면 문제가 풀릴것 같다는 생각을 했다. \n[자신 아이피]:admin 이렇게 입력하여 로그 파일이에 [자신 아이피]:admin 이렇게 입력 되도록 한 후, admin버튼을 누르니 문제가 풀렸다. 문제는 풀렸지만, 문제 출제 의도를 모르겠다...;;🧐 정답 : \n[자신 아이피]:..

    webhacking.kr Level 33 문제풀이

    webhacking.kr Level 33 문제풀이

    Level 33 Challenge 33-1 get이 "hehe"가 되면 Next라는 하이퍼링크가 생성된다. lv2 페이지로 넘어가면서 또다시 코드가 주어졌다. 이번엔 post방식으로 post1과 post2를 입력받는다. 따라서 개발자 모드를 이용하여 해당 페이지의 소스코드를 수정하였다. 그럼 위와 같이 post방식으로 값을 넘길 수 있게 된다. post에는 "hehe", post2에는 "hehe2"를 넘겨주자. lv3 이번엔 myip값이 REMOTE_ADDR과 같으면 된다. 즉 자신의 ip를 넣으면 된다. lv4 힌트로 위와 같은 숫자가주어졌다. password에 time()으로 받아온 값을 md5로 인코딩한 값이 들어면 될 듯하다. 힌트로 주어지는 값은 현재 시간을 가져오는 것 같다. 페이지를 새로고침..

    webhacking.kr Level 32 문제풀이

    webhacking.kr Level 32 문제풀이

    Level 32 1위부터 625위까지 존재하고 맨 아래부분에 "Join"이라는 버튼이 존재한다. 해당 버튼을 누르면 내 id가 추가 되고 0/100 으로 설정된다. 아이디를 누르게 되면 1이 증가하고 vote_check라는 쿠키값이 "ok"로 설정되어 더이상 투표가 불가능해진다. 따라서 fiddler에서 투표하는 패킷을 캡쳐하여 "Reissue Sequentially"를 100번 수행하여 100으로 만들었다.

    webhacking.kr Level 31 문제풀이

    webhacking.kr Level 31 문제풀이

    Level 31 $port=rand(10000,10100); $socket=fsockopen("$_GET[server]","$port",$errno,$errstr,3) or die("error : $errstr"); port를 10000 ~ 10100 중 랜덤 값으로 설정되고 server주소로 해당 포트번호 접속을 시도한다. 칼리에서 nc -nvl -p 10000 로 접속을 기다리고 있으면 랜덤 포트가 10000 됬을 때 password를 날려준다. 공유기를 사용하면 공유기 설정에서 포트포워딩 설정을 해줘야 한다. flag값은 자신의 아이피에 따라 달라진다.