본문 바로가기

Wargame/Web-W

(3)
xcz.kr PROB18 xcz.kr 의 PROB18이다.제목은 Web Basic소스페이지를 볼 수 있다.소스페이지를 살펴보자. 도통 뭔지 모르겠는 소스코드가 등장한다..변수명도 너무 다 비슷해보이고..그래서 변수명만 조금 정리를 한 코드를 올리겠다. 1234567891011121314151617181920212223
wargame.kr strcmp wargame.kr 의 strcmp 문제다.strcmp 함수의 우회법을 알면 플래그를 가질 수 있단다. 딱 들어가면 password를 입력받는 박스와 밑의 소스코드가 있다.소스코드부터 살펴보도록하자. 랜덤값으로 password를 파일에서 가져오는데어쨌든간 그 password랑 내가 입력한 password랑 같아야지 키 값이 출력된다.그럼 정상적으로는 거의 불가능에 가깝게 패스워드가 일치할 수 없다는것이다.strcmp 함수의 취약점을 이용하면 손쉽게 풀 수 있다.php 버전마다 다르지만, strcmp 함수에는 배열과 문자열을 비교했을 때NULL을 반환하게 되어있다. 즉 0 을 반환한다.그게 무슨소리냐? strcmp는 두 문자열이 같을 때 0을 반환하게 된다.결국 문자열과 배열을 비교하게되면 무조건 0을 반..
xcz.kr PROB32 xcz.kr 의 PROB32이다.제목은 Easy Trick내용은 PHP트릭을 이용해서 키를 구하란다. 먼저 Source Page부터 살펴보자. a라는 매개변수로 값을 받아오고 그게1273536633313213246546??????????????????????????????와 같으면 키를 출력하고 아니면 Failed ur tricks를 출력한다..그런데 저 ?를 알아낼 아무 단서조차 없다.어쨌든 검색으로 찾아낸건데, php에 옛날 취약점이라고한다.숫자가 14자리가 넘어가면 ==에서 그 뒤의 숫자들은 검사와 상관없이자리수만 맞으면 맞는다고 생각한다는것이다. Prob Page로 들어오면 이런 문자가 떠있다..별로 중요하진않다. 아까 말한대로 자릿수만 맞추주면 되니까?대신 1로 자리수를 맞춰주고 페이지를 실행해..