Today I Learned …
[Lord of SQL Injection] 8번 troll 풀이 본문
* 개인적인 공부 내용을 기록한 글입니다.
이전 문제
https://choco4study.tistory.com/95
8번 문제 troll 분석 및 풀이
8번 문제는 다음과 같다.
preg_match를 살펴보면, 싱글쿼터와 admin 문자열을 필터링하고 있음을 알 수 있다.
preg_match() 내부를 살펴보면,
패턴임을 명시하기 위해 해당 부분을 슬래시(/)로 감싸놓았다.
마지막 슬래시 뒤에는 옵션을 줄 수 있는데, i는 대소문자 구분을 하지 않음을 의미한다.
지금까지의 문제들은 항상 옵션으로 i가 적용되어 있었다.
그러나 이번 문제의 admin 필터를 보면, 마지막 슬래시 뒤에 옵션이 붙어있지 않음을 알 수 있다.
이는 해당 함수가 오로지 소문자 admin만을 필터링하고 있음을 말한다.
즉, Admin이나 ADMIN이나 AdMiN 등은 전혀 거르지 않고 있다는 것이다.
알다시피 MySql은 대소문자 구분을 하지 않기 때문에, admin이나 ADMIN이나 같은 문자열로 인식한다.
따라서, 이번 문제의 답은 그냥
Admin
이다.
답을 넣어보면,
8번 문제가 풀린다.
참고 포스팅
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ateon1&logNo=220384745059
'Wargame > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] 10번 skeleton 풀이 (0) | 2021.12.08 |
---|---|
[Lord of SQL Injection] 9번 vampire 풀이 (0) | 2021.12.08 |
[Lord of SQL Injection] 7번 orge 풀이 (0) | 2021.12.07 |
[Lord of SQL Injection] 6번 darkelf 풀이 (0) | 2021.12.07 |
[Lord of SQL Injection] 5번 wolfman 풀이 (0) | 2021.12.06 |
Comments