티스토리 뷰

LOS 포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.

18단계 소스코드이다.

이번엔 pw가 id 보다 먼저 왔다. 

또한 pw에 -, # 가 필터링 처리되어있다. 이는 주석을 사용하지 못하게 하려는 의도이다.

일단 주석처리 방법에 대해서 알아보자

1. --     // 한줄 주석처리이며 --뒤에 공백이 와야 정상적인 주석처리가 된다.

2. %23  // 한줄 주석처리이며 #이 아닌 %23을 입력해야 정상적으로 작동한다.

3. /**/   // 다중 주석처리이며 /*부터 */가 나올 때 까지 주석처리가 되며 /*/**/*/ 이면 /*/**/*/ 이렇게 처리된다.

4. ;%00  // 주석처리이다.

이 문제에 적합한 주석처리는 4번이다.

또한 pw에는 문자열이 6글자 이하로 제한되어있다.

6글자를 넘지않으며 쿼리를 참으로 만들고 주석처리까지 해내면 문제는 해결된다.

 

pw에 ')를 입력하여 ('')형식으로 파라미터를 닫아주고 참이 되는값과 주석처리 까지 모두 해주었는데 문제가 해결되지 않았다.

그렇다면..? pw에 아무값도 들어가 있지 않다는것이다. 쿼리를 다시 작성한다.

문제 해결

시행착오

1. 6글자 제한 때문에 문자열 길이 우회 문제인줄 알았었다.

2. 새로운 주석처리 ;%00을 배웠다.

3. 쿼리를 참으로 만들 수 있는 새로운 방법을 배웠다. id=''>1 (||""=" 보다 더 짧게 참값으로 만들 수 있다.)

댓글