-
|Lord of SQL_injection| #19 XavisWargame Site/SQL injection 2019. 2. 20. 17:52
요.녀.석. 만만치 않은 녀석이다 ...
19단계 문제 xavis 이다. 필터링된 것들도 별로없고, 처음에는 간단히 뭐야.. 쉽잖아? 라고... 생각했다. 왜냐하면 pw 를 ' or id='admin' and [확인할 조건들] 로 주면 끝나는 문제라고 생각했기 때문이다.
기존의 코드와 동일한 방법으로 접근해보았다.
하지만, 그 뒤로 출력된 문자는 없었다.. 이럴 경우는 어떻게 해야할까??
우선은 URL 창에 다음과 같이 입력해보았다.
pw 의 첫번째 글자의 ord 값이 5000 을 넘는다는 것이었다.
그래서 이런 저런 방법을 동원해보다가 hex로 바꾸는 방법을 생각해냈고, 실행결과 또한 빨리나왔다.
Hex 가 될 수 있는 '0123456789abcdefghijklmnopqrstuvwxyz' 를 문자열로 두고 비교하는 방식을 사용해보았다.
다음과 같은 결과가 나왔다.
0000c6b00000c6550000ad73 우선 이루어져 있는 단위가 중요하다!!
pw 의 1 번째 자리를 5000과 비교했을 때 5000 보다 크다고 했으니 한 단어의 바이트 단위는 2byte 를 초과한다는 것을 Catch 할 수 있다.
우선 4 Byte 로 그 단위를 잡았다.
4 바이트로 잡으니 형태가 그럴싸하게 나왔다.
그 뒤 각각을 decimal 단위로 환산했다!!
역시나!!
1 부터 8 까지의 값이 같은 걸로 보아 4 Byte 라는 강한 확신이 들었다.
각각을 변환해보니 다음과 같이 "우왕굳" 이 나왔다.
짜잔 !!
정말... 답답했던 문제였다.
문자 표현 방식 차이 하나 때문에 정말 풀기 어려웠던 거 같았다
Xavis 도 PASS
'Wargame Site > SQL injection' 카테고리의 다른 글
|Lord of SQL_injection| #21 Iron_golem (0) 2019.02.22 |Lord of SQL_injection| #20 Dragon (0) 2019.02.20 |Lord of SQL_injection| #18 Nightmare (0) 2019.02.15 |Lord of SQL_injection| #17 Succubus (0) 2019.02.14 |Lord of SQL_injection| #16 Zombie_assassin (0) 2019.02.14 댓글