관리 메뉴

HeeJ's

Webhacking.kr old-24 본문

<CTF>/<Webhacking.kr>

Webhacking.kr old-24

meow00 2020. 11. 12. 13:00

문제 화면

 

소스코드

 

$ip = $REMOTE_ADDR; //ip 변수에 $REMOTE_ADDR 값 저장

$agent = $HTTP_USER_AGENT; //agent 변수에 $HTTP_USER_AGENT 값 저장

if($REMOTE_ADDR){ //REMOTE_ADDR 값이 존재한다면

    $ip htmlspecialchars($REMOTE_ADDR); //REMOTE_ADDR의 값에서 특수 문자를 html로 변환해 재저장
    $ip str_replace("..",".",$ip);
//ip의 값에서 ..을 .로 치환
    $ip str_replace("12","",$ip);
//ip의 값에서 12를 공백으로 치환
    $ip str_replace("7.","",$ip);
//ip의 값에서 7.을 공백으로 치환

    $ip str_replace("0.","",$ip); //ip의 값에서 0.을 공백으로 치환

 

  if($ip=="127.0.0.1"){
    solve(24);
    exit();
  }

// ip의 값이 127.0.0.1이라면 문제 해결

 

쿠키를 변조시켜 이 변수들을 이용해 ip값을 적절히 저장해준다면 문제를 해결할 수 있을 것.

 

Edit This Cookie를 이용해주었다.

REMOTE_ADDR이라는 쿠키를 새로 작성해 127.0.0.1을 값으로 넣어보았다.

 

크롬환경에서 edit this cookie를 이용해 주었는데 오류때문인건지 쿠키추가가 되지 않아

 

환경을 옮겨주었다. (파이어폭스, cookie editor)

그리고 새로고침을 해주었더니

필터링에서 위의 ip주소가 다 날아가 ip에는 1이 남았다.

 

이 필터링을 우회해 REMOTE_ADDR에 값을 넣어주면 된다.

 

.. -> .

12 -> 

7. ->

0. ->

이므로 

 

필터링 조건들을 고려해 위와 같은 값을 저장해주고 새로고침을 해주었다.

 

ip 값이 127.0.0.1로 바뀌며

 

문제를 풀었다.

'<CTF> > <Webhacking.kr>' 카테고리의 다른 글

Webhacking.kr old-7  (0) 2020.11.14
Webhacking.kr old-25  (0) 2020.11.12
Webhacking.kr old-46  (0) 2020.11.09
Webhacking.kr old-12  (0) 2020.11.09
Webhacking.kr old-39  (0) 2020.11.04