
Lord of SQL Injection 12단계, darkknight풀이
·
Archive/Hacking
이번 포스팅은 12번째! 다크나이트이다. 이름이 정말 멋있고 썸네일(?) 도 멋있다. 개인적으로 칼 등의 무기를 든 것보다 방패를 든게 더 멋있는 것 같다. 사설이 길었다. 빠르게 코드로 넘어가자! 12번 다크나이트 문제도 블라인드인젝션 유형의 문제이다. 주요한 코드를 살펴보자! preg_match 를 통해 pw 에서는 ' 가 필터링되어 있고, no에서는 ' 와 substr, ascii, = 이 필터링 되어있다. 이 쿼리문을 보면 pw에는 우리가 입력한 값을 싱글쿼터로 감싸주고 있으나, no에서는 아무런 보호막(?)이 없다. 우리가 no를 아무값이나 막 쓰고 or 을 사용하여 쿼리문을 이어주면 된다. 이제 블라인드 인젝션 공격을 시행해보자! 더보기 먼저 길이를 알아내야한다. ?no=1234 || leng..