LOS(The Lord of the SQLI) 9 - VAMPIRE
2021. 1. 16. 20:04ㆍ정보보안/웹 해킹
9번 문제인 VAMPIRE이다.
필터식을 확인해보면 if(preg_match('/\'/i), $_GET[id]) 로, 싱글쿼터를 필터링하고있다.
또 코드를 확인하다 보면, 앞서 봤던 문제들과 다른 부분이 있는데
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin", "", $_GET[id]);
위 코드 2 Line이다.
우선
$_GET[id] = strtolower($_GET[id]) 코드에서 strtolower은 인자값 문자열을 소문자로 바꾼다.
$_GET[id] = str_replace("admin", "", $_GET[id]) 코드에서 str_replace는 세번째 인자값을 파라미터로 받아
첫번째 인자를 두번째 인자로 바꾼다.
문제를 해결하기 위해서는 if($result['id'] == 'admin')
즉, id 파라미터에 admin이 들어가야 한다.
이 문제를 풀기 위해서는 admin을 공백으로 치환시키는 코드를 우회해야하는데,
?id = adadminmin 처럼 admin 이라는 문자열 사이에 admin 이라는 문자열을 한번 더 적어
admin을 공백으로 치환 시켰을때, admin 문자열이 남도록 하면 문제를 해결할 수 있다.
'정보보안 > 웹 해킹' 카테고리의 다른 글
LOS(The Lord of the SQLI) 13 - BUGBEAR (0) | 2021.01.17 |
---|---|
LOS(The Lord of the SQLI) 11 - GOLEM (0) | 2021.01.16 |
LOS(The Lord of the SQLI) 8 - TROLL (0) | 2021.01.16 |
LOS(The Lord of the SQLI) 7 - ORGE (0) | 2021.01.16 |
LOS(The Lord of the SQLI) 6 - DARKELF (0) | 2021.01.16 |