Always-Try(정보보안 및 일상)

써니나타스 - Web Challenges - 23번 본문

Pen Test

써니나타스 - Web Challenges - 23번

Always-Try 2021. 1. 31. 22:07

#1. 23번

1-1. 문제

 

1-2. 풀이

역시나 그렇듯 개발자도구에서 힌트를 확인할 수 있다. 

guest/guest 입력 시 즉, 참 일때의 리턴 값은 다음과 같다.

 

힌트와 문제에서 볼 수 있듯이 admin 은 필터링 된다.

흐음.. 그리고 GET 방식으로 요청이 전달되고, 특수문자가 Percent-Encoding 되어 전달되고 있다.

admin 문자열이 먹히지 않으니, admin 계정과 관련된 쿼리를 어떻게 보낼 수 있을까?

?

?

?

이 문제는 sql의 특성을 알아야 풀 수 있는 문제로 보여진다.

admin을 필터링에 걸리지 않게 구문을 짤 수 있는 방법은 일단 아래 2가지이다.  

 

1번째 방법 (+를 이용하여 문자열을 띄워쓰기 없이 합치는 것)

이건 파이썬에서도 자주 사용되는 문법이다. 바로 +를 이용한다.

ad'+'min' AND 1=1--

2번째 방법 (ASCII 값을 기준으로 대/소 비교를 할 수 있는 특성)

'or id<'b'--

이후는 22번 문제와 유사하게 풀어나가면 된다.

2021/01/31 - [Pen Test] - 써니나타스 - Web Challenges - 22번 (블라인드 SQL 인젝션)

 

참고로 본 문제는 문자열 최대 길이 제한이 있음

 

v3ryhardsqli

 

 

 

Comments