728x90
이번에는 처음보는 함수들이 조금 보입니다.
문자열을 필터링하는데 쓰는 함수 같으므로 찾아보자면,
strtolower 함수는 대문자를 소문자로 변환시키는 함수이고
str_replace 함수는 3번째 인자의 값중에서 1번째 인자의 값을 2번째 인자의 값으로 바꾸는 함수입니다.
그러므로 만약 admin이라는 문자열이 id에 전달된다면
"admin" => ""
다음과 같이 문자열이 바뀔것입니다. 그리고 이번에는 Admin 과같은 식으로 대문자를 사용하더라도
strtolower 함수로 인해서 전부다 소문자로 변환될것입니다.
그러므로 생각해보자면 str_replace 함수는 admin이라는 문자열에 대해서만 "" 이라는 문자열로 치환하기 때문에
만약 "ABadminCDE" 와 같은 식의 문자열이 들어간다면 admin만 없어진채로
"ABCDE"라는 문자열이 전달될 것입니다.
그러므로 이를 이용해서 admin이라는 문자열을 넣는다면
adadminmin
다음과 같은 문자열을 id에 전달하면 admin이라는 문자열이 성공적으로 전달될 것입니다.
최종적으로 id=adadminmin이라는 문자열을 쿼리문으로 작성하면
다음과 같이 문제가 풀리는것을 확인할수 있습니다.
728x90
'워게임 > LORD OF SQLINJECTION' 카테고리의 다른 글
[LOS] Level 10(skeleton) (0) | 2022.05.03 |
---|---|
[LOS] Level 8(troll) (0) | 2022.05.03 |
[LOS] Level 7(orge) (0) | 2022.05.03 |
[LOS] Level 6(darkelf) (0) | 2022.05.03 |
[LOS] Level 5(wolfman) (0) | 2022.05.03 |