반응형
Lord of SQLInjection 9번 vampire
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
i 는 대소문자를 구분하지 않는 필터링이다.
$_GET[id] = str_replace("admin","",$_GET[id]);
$_GET[id]에 admin이라는 문자열이 있으면 공백으로 바꾸라는 뜻이다.
str_replace() : 문자열을 치환하는 함수
1번째 인수 : 변경대상 문자열
2번째 인수 : 변경하려는 문자열
3번째 인수 : replace가 바꾸고자 하는 문자열
?id=adadminmin
replace함수가 있을 때 admin을 'adadminmin' 등으로 우회가 가능하다.
adadminmin 이렇게 쓰면 가운데 admin을 먼저 찾게 될 것이고, 이걸 공백처리하면 결국 앞 뒤 문자가 합쳐져 다시 admin이 된다.
반응형
'#WarGame > Lord of SQLInjection' 카테고리의 다른 글
Lord of SQLInjection 11번 golem (0) | 2021.08.09 |
---|---|
Lord of SQLInjection 10번 skeleton (0) | 2021.08.07 |
Lord of SQLInjection 8번 troll (0) | 2021.08.07 |
Lord of SQLInjection 7번 orge (0) | 2021.08.07 |
Lord of SQLInjection 6번 darkelf (0) | 2021.08.06 |