old-24 풀이

2021. 8. 27. 01:47webhacking.kr

728x90

메인 화면
source

 

코드를 한 줄 한 줄 해석해보겠습니다.

 

extrack($_SERVER) : SERVER의 값을 변수로 변환

extrack($_COOKIE) : COOKIE의 값을 변수로 변환

 

if($REMOTE_ADDR) 부분을 보면 htmlspecialchars() 함수를 사용해서 특수문자를 필터링하는 것을 볼 수 있습니다.

그리고 str_replace() 함수를 이용해 필터링을 해주고 있습니다.

 

  • .. -> .
  • 12 -> NULL
  • 7. -> NULL
  • 0. -> NULL

 

if($ip=="127.0.0.1")을 보면 ip 주소가 127.0.0.1일 때, 문제가 풀리는 것을 알 수 있습니다.

 

우선, 같은 문자를 여러 번 넣는 방식으로 필터링 우회를 해서 ip를 조작하면 될 것 같습니다.

$REMOTE_ADDR에 COOKIE의 값이 변수로 바뀌어서 들어가니 COOKIE를 127.0.0.1로 변조해보겠습니다.

 

REMOTE_ADDR 쿠키 생성

쿠키 값을 왜 저렇게 했는지는 아래를 보시면 알 수 있을 겁니다.

 

112277...00...00...1

1277...00...00...1

127..00...00...1

127.00...00...1

127.0..00...1

127.0.00...1

127.0.0..1

127.0.0.1

 

이건 여담이지만, EditThisCookie에서 쿠키 생성할 때 No Restriction을 꼭 Lax로 바꾸고 생성해주세요.

안 그러면 쿠키가 저장이 안 됩니다.

멍 때리면서 하다가 저것 때문에 10분 날렸습니다.

 

문제 풀이 성공

 

728x90

'webhacking.kr' 카테고리의 다른 글

old-01 풀이  (0) 2023.12.21
old-25 풀이  (0) 2021.08.27
old-23 풀이  (0) 2021.08.26
old-52 풀이  (0) 2021.08.23
old-33 풀이  (0) 2021.08.11