-
[LOS] 9. vampire 문제 풀이Wargame/LOS (Lord of SQL Injection) 2019. 7. 17. 16:55
vampire id를 입력하면, strtolower 함수에 의해 입력한 문자열이 모두 소문자로 변환된다. 또한 id에 admin을 입력할 경우 str_replace 함수에 의해 공백으로 필터링된다. 이 두 함수를 모두 우회하여 admin으로 로그인해야 문제가 해결될 것이다.
troll 문제 때처럼 ADMIN을 입력해도 strtolower 함수 때문에 다시 admin으로 변환되기 때문에 결국 str_replace 함수 필터링에 걸리게 된다. 따라서 결론적으로는 str_replace 함수를 우회해야 한다.
str_replace 함수는 문자열 중간에 같은 문자열을 끼워넣으면 우회가 가능하다.
즉, 아래와 같이 입력하면, str_replace 함수에 의해 끼워넣어진 admin이 공백으로 필터링되고, 양옆의 admin만 남아서 결과적으로 admin이 입력된다.
adadminmin
VAMPIRE Clear! ※ 참고
Webhacking.kr에도 이와 비슷하게 str_replace 함수를 우회해서 푸는 문제가 있다.
'Wargame > LOS (Lord of SQL Injection)' 카테고리의 다른 글
[LOS] 11. golem 문제 풀이 (0) 2019.07.18 [LOS] 10. skeleton 문제 풀이 (0) 2019.07.17 [LOS] 8. troll 문제 풀이 (0) 2019.07.17 [LOS] 7. orge 문제 풀이 (0) 2019.07.17 [LOS] 6. darkelf 문제 풀이 (0) 2019.07.17