Wargame/LOS

[LOS] dark eyes 풀이 (st.22)

bjloed 2020. 5. 30. 23:59

풀이

 

이번 문제는 전 문제와 똑같은 Error Based SQLi지만, if문이 Filtering 규칙에 포함이 되어있다.

이번에는 if없이 union select으로만, 값을 얻어내자.

 

pw의 길이를 알아내는 방법은 다음과 같다.

마찬가지로, 부등호를 이용하면 pw의 길이를 구할 수 있다.

 

Query:  ?pw=1' or id='admin' and (select 1 union select (length(pw)=8))%23

 

 

오류가 안나는 것을 보아하니, pw의 길이는 8이 확실하다.

이제 파이썬을 이용해 pw의 값을 알아내자.

코드는 다음과 같다. 역시 대소문자에 유의하자.