Web/Web Hacking (Wargame)

[webhacking.kr] old-18

✏️ Check


SQL Injection을 이용하는 문제라고 친절히 알려줬다.

 

소스코드를 통해 확인하면 알게되겠지만, 사용자가 입력한 내용을 제출하면 그 결과가 RESULT 부분에 출력될 것이다.

 

🔎 Analyze


소스 코드

입력값은 $_GET[no] 에 저장된다. 즉, get 방식으로 no 변수에 값이 들어가게 된다.

이 때 result에 반환받는 id에 대한 값이 "admin"이 되어야 문제가 해결된다. 

 

필터링에 주의해서 쿼리를 만들어보자!

 

일단 [ id='guest' and no=__ ] 부분을 거짓으로 만들고 뒤에 [ or no=2 ] 를 붙여 참이 되는 조건인 no=2에 해당하는 id 값을 반환할 수 있도록 한다.

>> 0 or no=2

필터링에 걸렸다. 띄어쓰기 필터링을 우회할 수 있는 방법이 필요하다.

 

띄어쓰기 우회

/**/
%09
%0a
%0d
+
를 사용하면 띄어쓰기를 대체할 수 있다.

 

🔓 Exploit


SMALL

'Web > Web Hacking (Wargame)' 카테고리의 다른 글

[webhacking.kr] old-19  (0) 2023.02.18
[webhacking.kr] old-33  (0) 2023.02.04
[Dreamhack] out of money  (0) 2023.02.04
[webhacking.kr] old-32  (0) 2023.02.03
[hackthissite/Javascript] Mission 1 ~ Mission 7  (1) 2023.01.30