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

+ Recent posts