본문 바로가기
CTF/기타

[Load of SQL Injection] goblin

by 8희 2022. 10. 31.

https://los.rubiya.kr/gate.php

 

https://los.rubiya.kr/gate.php

 

los.rubiya.kr

 

풀이 참고 링크: https://mandu-mandu.tistory.com/301

 

 

query : select id from prob_goblin where id='guest' and no=

-> query에서 id는 guest로 고정되어 있고, no는 입력 값을 받고 있다. no를 통해 공격해야 되는 것 같다.

 

if(preg_match('/\'|\"|\`/i'$_GET[no])) exit("No Quotes ~_~"); 

-> no는 '가 필터링 된다.

 

if($result['id'] == 'admin'solve("goblin");

-> id 값은 admin이어야 한다.

 

 

no의 무작위 값으로 1을 집어 넣자 Hello guest 문구가 떴다. guest는 no는 1로 설정되어 있음을 알 수 있다.

 

 

no에 1 이외의 값을 넣음으로써 guest 조건은 거짓으로 만들고, or id = 'admin'을 붙이면 해결할 수 있다.

이때 해당 코드는 '을 필터링하기 때문에 admin이라는 문자열을 hex 값으로 인코딩하여 넣어줘야 한다.

 

해당 기법을 사용하기 위해 url 뒤에 ?no=0 or id = 0x61646d696e을 추가함으로써 문제를 해결할 수 있었다.

 


 

'CTF > 기타' 카테고리의 다른 글

[XSS-game] level 2  (0) 2022.11.07
[XSS-game] level 1  (0) 2022.10.31
[Load of SQL Injection] orc  (0) 2022.10.31
[Load of SQL Injection] cobolt  (0) 2022.10.31
[Load of SQL Injection] gremlin  (0) 2022.10.31