webhacking/etc

xcz.kr 32번.

qkqhxla1 2014. 12. 7. 22:57

<?php 
if($_GET['a']==""){exit ("WUT?? 31337?");}  
$aurlencode($_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