이번 포스팅은 preg_match에 일부 특성을 배우는 시간이 될 것이다. 트롤을 만나보도록 하자
코드
특별하게 보이는 점으로 admin이라는 문자열이 필터링되기 때문에 admin을 쓸 순 없을 거 같다.
해결방법
Answer Url : los.rubiya.kr/chall/XXXX.php?id=Admin
어이없어 보여도, 중요한 내용을 담고 있다. 위 php에서 필터 우회로 사용되는 preg_match는 /i옵션이 없으면 대소자를 구별하지 않는다. 따라서 두 번째 preg_match인 /admin/은 Admin이나 ADMIN으로 실행을 안 시킬 수 있다. 또한 DB가 대소자를 구분하지 않으니 금상첨화이다.
이렇게 트롤을 해치운 우리의 다음 목적지는 이름도 무서운 흡혈귀를 만나러 갈 것이다. 이번 문제가 쉬웠다고 생각해도 안일함을 가지지 않길 바란다. 의외로 DB나 코드의 특성을 알아야만 풀 수 있는 문제이다.(필자가 이걸몰라서 엄청 헤매었었다.)
'WarGame > Lord of SQL Injection' 카테고리의 다른 글
[LOSI] Lord of SQL Injection Level 10 - Skeleton (0) | 2021.04.13 |
---|---|
[LOSI] Lord of SQL Injection Level 9 - Vampire (0) | 2021.04.13 |
[LOSI] Lord of SQL Injection Level 7 - Orge (0) | 2021.04.13 |
[LOSI] Lord of SQL Injection Level 6 - DarkElf (0) | 2021.04.13 |
[LOSI] Lord of SQL Injection Level 5 - Wolfman (0) | 2021.04.13 |