본문 바로가기

Web Hacking/Webhacking.kr

[Webhacking.kr] old-18 write up

 

이번 문제는 대놓고 SQL INJECTION이라고 주어진다! 코드를 보자.

 

 

쿼리 결과로 admin이 나오면 문제는 해결된다. 코드에 no가 2인 값이 admin이라고 나와 있기 때문에 우린 이것을 이용할 수 있다.

 

그러나 쿼리문의 where 문 바로 뒤에 id='guest'라고 명시되어 있기 때문에 아무리 no를 건드려도 해결이 불가능하기때문에 or을 이용해서 앞 조건을 false로 만들고 뒤를 true로 만들면 해결이 가능하다.

 

 

위처럼 입력하니 no hack이 뜬다. 자세히 보니 공백도 필터링을 하고 있다. 이건 개행이나 탭 문자로 간단히 우회가 가능하다.

 

2%09or%0ano=2

 

 

페이로드는 url창에서 url인코딩하여 전달(그냥 문자 그대로 전달도 가능) 하거나 폼창에 문자 그대로 전달해야한다. 만 폼에 url인코딩하여 전달한다면 폼 창에 있는 값이 get으로 전달될때 url 인코딩이 되기 때문에 더블 인코딩이 된다.

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-24 write up  (0) 2024.02.26
[Webhacking.kr] old-54 write up  (2) 2024.02.26
[Webhacking.kr] old-39 write up  (0) 2024.02.26
[Webhacking.kr] old-06 write up  (0) 2024.02.23
[Webhacking.kr] old-15 write up  (0) 2024.02.23