보안 전공생의 공부

[Wargame.kr] strcmp 본문

공부/web

[Wargame.kr] strcmp

수잉 2021. 2. 18. 00:18

strcmp를 우회할 수 있으면 플래그를 얻을 수 있다고 한다 !

 

페이지 소스코드를 확인해보면

이렇게 if문의 조건으로 strcmp함수가 사용되었다. 입력한 password와 랜덤으로 형성되는password값이 같아야 플래그값을 얻을 수 있는 것 같다.

 

strcmp 함수 중에서 특히 == 비교는 NULL과 0을 비교했을 때 TRUE를 반환한다.

또한 PHP 5는 strcmp(string,array)의 형태가 되면 이 둘이 같지 않더라도 NULL(0)을 반환한다고 한다.

 

 

입력하는 것은 text형식만 가능하므로 원래 있는 password가 array형태로 바뀌어야한다.

그래서 콘솔창에 password[]=(문자열) 을 입력해보았다.

그런데 콘솔창으로는 array형태로 변환할 수 없는 것 같아 보인다 ㅠ

 

그래서 Element 창으로 수정을 하기로 했다.

name="password" 를 name="password[]" 로 수정하였다.

POST형식으로 입력받는 password는 어떤 값이든 배열이고,

배열password와 랜덤으로 형성된 password는 같지 않더라도 array와 string의 비교이므로

NULL(0)을 반환하고 0==0이므로 if문이 true가 되어 플래그값을 확인할 수 있게 된다 !!

 

'공부 > web' 카테고리의 다른 글

[Wargame.kr] WTF_CODE  (0) 2021.02.16
DreamHack | 웹해킹 기초강의 요약(1)  (0) 2021.01.15
Comments