los 11번입니다.
11번은 or, and뿐만 아니라 등호와 substr도 필터링 되면 i옵션이 적용되어 있기 때문에 단순히 대문자를 이용해서 우회가 불가능합니다. 그리고 이 문제는 비밀번호를 정확히 알아내야 하기 때문에 파이썬 코드를 이용했습니다.
공격에 사용한 파이썬 코드입니다. 여기서 쿼리문들을 위해서 얘기한 조건들을 모두 우회해주어야 합니다. or과 and는 기호를 이용해서 우회했고 등호는 like 를 이용하여 우회했습니다. 마지막으로 substr은 mid함수를 사용했는데 mid함수는 substr함수와 동일한 기능을 하는 함수입니다. 위의 코드를 예시로 살펴보면 pw에서 우리가 탐색할 위치부터 하나씩 가져온다는 의미로 substr함수와 동일한 기능을 한다고 할 수 있습니다. 이 문제에서 substr함수가 필터링 되는 경우 우회방법을 알 수 있었습니다.
알아낸 비밀번호는 아래와 같습니다
첫 줄은 비밀번호 길이이가 그 아랫줄부터 비밀번호이니 비밀번호는 '77d6290b'입니다.
답 : ?pw=77d6290b