▶ 코드 확인
오랜만에 보는 Blind SQL Injection 문제이다. 어떻게 풀지는 필터링한 문자를 보면 알 수 있다. and, or, substr 문자열이 필터링되어 있다. 또한, 등호(=)도 필터링 되어있다. and, or는 앞서 봤던 'ORGE'에서 &&와 ||로 우회하는 것을 봤고, 등호 필터링은 'like'로 우회할 수 있다. substr은 필터링되어 있기에, substring으로 쓸 수 있는지 확인해보니, substring은 또 필터링을 하지 않는다. Injector를 만드는데 Injector코드의 구조는 일전에 만들었던, ORGE 와 ORC의 코드구조와 크게 다르지 않다. 다음과 같은 쿼리문을 반복해서 입력한 뒤 값을 찾는다.
select id from prob_golem where id='admin' and pw='' || id like 'admin' && ascii(substring((pw),1,1))>0 and '1' like '1' |
입력해서 찾으면, 77d6290b 가 답이 됨은 쉽게 확인해볼 수 있다. (injector는 blind-SQLi와 같이 정리해놓은 글에서 찾아볼 수 있다.)
'write-ups > Lord of SQL Injection' 카테고리의 다른 글
LORD OF SQLINJECTION - bugbear (0) | 2023.01.18 |
---|---|
LORD OF SQLINJECTION - darkknight (0) | 2023.01.01 |
LORD OF SQLINJECTION - Skeleton (0) | 2022.11.30 |
LORD OF SQLINJECTION - vampire (0) | 2022.11.29 |
LORD OF SQLINJECTION - troll (0) | 2022.11.28 |
댓글