<?php
if($_GET['a']==""){exit ("WUT?? 31337?");}
$a= urlencode($_GET['a']);
if(isset($a)){
if($a == "12735366333132132465461?????????????????????????????") {exit("KEY");
} else {echo "Failed ur tricks";}
}
else{
echo "WTH?";
}
?>
라고 있는데... a를 받아서 이걸 urlencode한다. 그 후에
12735366333132132465461?????????????????????????????
와 비교해서 같으면 통과이다. php의 트릭을 이용하여 키 값을 구하라고 하는데 여기서 이용해야
하는 php트릭은 php가 매우 작은 숫자 비교는 같다고 처리한다는 것이다.
rubiya님 블로그에 잘 정리가 되있다. http://blog.naver.com/withrubiya/70175920455
<?
echo 10000000000000000 == 10000000000000001;
?>
를 출력해보면 다름에도 불구하고 작은 차이는 무시하여 1을 출력하는걸 알 수 있다.
1273536633313213246546100000000000000000000000000000
그냥 요런식으로 보내면 매우 작은 차이라 통과된다. 0이 아닌 다른 아무 숫자나 채워줘도
오차 범위 내이기 때문에 통과된다.
'webhacking > etc' 카테고리의 다른 글
Security Override Recon (0) | 2014.12.17 |
---|---|
xcz.kr 21번. (0) | 2014.12.07 |
xcz.kr 18번. (0) | 2014.12.07 |
GoogleBig - HackGame (0) | 2014.12.01 |
Enigmagroup basic/Prerequisites, Spoofing, URL Manipulation (0) | 2014.11.30 |