[Lord of SQL Injection] #5

김태현·2022년 9월 7일
0

Lord of SQL Injection

목록 보기
5/7

1. 문제

2. 풀이

  • preg_match($pattern, $subject, [, $matches]) : 문자열 안에서 특정한 정규식 패턴의 존재 여부를 찾는데 유용한 함수

  • $pattern : 문자열로 검색할 패턴

  • $subject : 입력 문자열

  • [$matches] : 사용 시 패턴에 매치되는 내용을 배열에 담아둔다.

따라서 얻을 수 있는 정보로는 pw의 입력 값 필터링 규칙으로 다음과 같은 정보를 필터링한다는 것이다.

1) prob

2) _

3) .

4) ( )

5) space (공백)

이전의 문제들과는 달리 space(공백)을 필터링하고 있다. 따라서 공백을 대체할 다음과 같은 문자들을 사용하면 문제를 해결할 수 있을 것이다.

문자16진수(Hex)
tab%09
line feed%0a
vertical tab%0b
form feed%0c
carriage return%0d

id를 admin으로 만들게 되면 문제를 해결할 수 있으므로 표의 공백 대체 문자들을 이용하여 쿼리문을 작성하게 되면 다음과 같다.

  • %09(tab)을 이용한 정답

tab을 제외하고도 위에 적어놓은 표를 참고 해서 공백을 대체할 문자들을 사용하면 문제를 해결할 수 있다.

profile
보안을 공부중입니다

0개의 댓글