반응형
문제
https://los.rubiya.kr/chall/goblin_e5afb87a6716708e3af46a849517afdc.php
문제풀이
쿼리문에서 admin 계정을 반환하면 문제가 해결된다.
$query = "select id from prob_goblin where id='guest' and no={$_GET[no]}";
필터링 문자들을 피해 16진수를 사용해 문제를 해결할 수 있다.
if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~");
if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");
no=1일 때, id='guest' and no=1 조건을 만족해 guest가 반환되고, no=0일 때는 만족하지 않는다.
no=0일 때를 이용하여 쿼리문 조작을 하면 된다.
no=0일 때, or문을 이용해 id가 'admin'인 값을 반환한다.
반응형
'write-up(web) > los' 카테고리의 다른 글
[LOS] darkelf (0) | 2023.01.22 |
---|---|
[LOS] wolfman (0) | 2023.01.22 |
[LOS] orc (0) | 2023.01.21 |
[LOS] cobolt (0) | 2023.01.21 |
[LOS] gremlin (0) | 2023.01.21 |