Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

White Security

[wargame.kr] counting query 문제풀이 본문

Wargame Writeups/wargame.kr

[wargame.kr] counting query 문제풀이

POSIX 2019. 1. 28. 22:50

wargame.kr 사이트의 30번째 문제입니다.



Error based SQLi Challenge



링크에 접속하면 로그인 화면을 볼 수 있습니다.

ID는 본인 아이피로 고정되어 있으며

변경하여도 서버에서 검증하기에 의미가 없습니다.



모든 파라미터는

mysql_real_escape_string 함수를 거쳐 사용되며

유일하게 type 파라미터만이 쿼트가 없습니다.



따라서 type 뒤에 or으로 조건식을

덧붙여주면 로그인이 가능합니다.



하지만 Flag를 얻으려면

실제 ps 파라미터가 검증되어야 하므로

우리는 ps 값을 알아낼 필요가 있습니다.



extractvalue 함수를 사용해서

error based sql injection을 시도해 보았지만

t_user 는 임시테이블이기에 다중 접속이 불가하고

all_user_accounts 는 정규식 검증을 통해 필터링하고 있었습니다.


updataxml 함수도 동일합니다.



따라서 group by 기법을 이용한 인젝션을 시도했고

ps 컬럼을 얻을 수 있었습니다.



row가 아닌 select 1...

기법을 생각해내신 분들이 있겠지만

위는 extractvalue와 updatexml 함수 사용이 되지 않는

이유와 마찬가지로 사용이 불가능합니다.



얻어낸 ps 을 사용해 로그인하면 Flag를 얻을 수 있습니다.


Comments