본문 바로가기

Web/wargame

[Webhacking.kr] old-24

 

 

 

view-source 를 확인해보자.

extract()

배열 속의 키 값들을 변수화 시키는 함수

 

$_SERVER 와 $_COOKIE 값을 변수화

 

$REMOTE_ADDR

클라이언트의 IP를 가져오는 PHP의 환경변수

 

$REMOTE_ADDR 값을 $ip 에 저장

 

$HTTP_USER_AGENT

클라이언트의 접속 환경 정보를 가져오는 PHP의 환경변수

 

$HTTP_USER_AGENT 값을 $agent 에 저장

 

htmlspecialchars()

특수 문자를 HTML 엔티티로 변환해주는 함수. 특정 문자는 HTML에서 특별한 의미가 있으며, 의미를 보존하려면 HTML 엔티티로 표시해야 함.

ex) & -> &amp; / " -> &quot; / ' -> &#039; / < -> &lt / > -> &gt

 

$REMOTE_ADDR 값이 존재한다면,

$REMOTE_ADDR 값에서 특수 문자를 HTML 엔티티로 변환해서 ip에 저장,

ip 값에서 .. 을 . 으로 치환,

ip 값에서 12 를 공백으로 치환,

ip 값에서 7. 을 공백으로 치환,

ip 값에서 0. 을 공백으로 치환

 

ip 가 127.0.0.1 과 같다면 문제가 해결되는 것 같다.

 

 

 

우선 개발자 도구로 REMOTE_ADDR 이라는 쿠키를 추가, 127.0.0.1 을 값으로 저장해주었다.

 

 

 

그리고 새로고침을 하면,

str_replace() 로 인해 client ip 가 127.0.0.1 이 아닌 (12)(7.)(0.)(0.)1 이 되어 문제가 해결되지 않는다.

 

 

 

따라서 str_replace() 실행 후의 결과가 127.0.0.1 인 값을 생각해보면,

1(12)27(7.)(.. -> .)0(0.)(.. -> .)0(0.)(.. -> .)1 즉, 112277...00...00...1 을 쿠키 값으로 저장하면 될 것 같다.

 

 

 

새로고침을 하면,

해결!

 

 

 

참고 https://winkite1226.tistory.com/113

'Web > wargame' 카테고리의 다른 글

[Webhacking.kr] old-05  (0) 2022.01.16
[Webhacking.kr] old-25  (0) 2021.11.28
[Webhacking.kr] old-01  (0) 2021.11.21
[Webhacking.kr] old-12  (0) 2021.11.11
[HackCTF] Login  (0) 2021.11.09