SuNiNaTaS
Web Level9(Prob_22)
9번째 문제입니다. Blind SQL Injection을 이용한 문제 풀이인데, 소스를 확인 해 보니 admin의 pw를 알아내는 것이 목표라고 합니다.
위와 같이 id에 admin'--, pw에 아무 값이나 넣어주면 pw 부분이 주석 처리 되어 바로 로그인이 가능해집니다.
이를 이용하여 and 뒤의 값을 적절히 변형시켜주면 참과 거짓일때의 반응이 다르다는 것을 알 수 있습니다.
참일때는 OK admin, 거짓일때는 false를 뱉어냅니다.
len 함수를 이용하여 pw의 길이를 확인 해 보니 10글자인 것을 알 수 있었으며
substring 함수를 이용하여 pw의 값을 한 글자씩 끊어서 판별 할 수도 있습니다.
python 스크립트를 이용하여 bruteforcing으로 키값을 알아내는 코드를 작성했습니다.
최종 값이 나오면 Auth 페이지에서 인증하면 됩니다.
References
- Zairo(http://zairo.tistory.com/entry/SuNiNaTaS-Challenge-Level-22)
'Wargame > SuNiNaTaS' 카테고리의 다른 글
SuNiNaTaS System Level1(Prob_16) (0) | 2016.05.10 |
---|---|
SuNiNaTaS Web Level10(Prob_23) (0) | 2016.05.10 |
SuNiNaTaS Web Level8 (0) | 2016.05.09 |
SuNiNaTaS Web Level7 (0) | 2016.05.09 |
SuNiNaTaS Web Level6 (0) | 2016.05.09 |