Los 14

[LOS] siren

소스코드 분석 1. $db = mongodb_connect(); > DB 환경 MongoDB 2. if($result['pw'] === $_GET['pw']) solve("siren"); > 요청값과 반환 값을 엄격한 비교. pw를 알 필요가 있으므로 Blind SQL Injection 시도 문제 풀이 pw 값을 알아야 하므로 $ne를 사용하여 인증우회 할 수 없다. 이번엔 부등호인 $gt를 이용하여 pw 값을 한자리 씩 알아낸다. 다음과 같이 요청한다. ?id=admin&pw[$gt]=3 ?id=admin&pw[$gt]=1 두 번의 요청으로 pw가 1보다는 크지만 3보다는 작다는 것을 알 수 있다. pw의 첫 글자는 1이거나 2일 것이다. 이런 식으로 참과 거짓으로 패스워드 값을 유추해 나간다. 부등호..