write-up(web)/los

[LOS] goblin

chanchand 2023. 1. 21. 21:28
반응형

문제


https://los.rubiya.kr/chall/goblin_e5afb87a6716708e3af46a849517afdc.php 

 

https://los.rubiya.kr/chall/goblin_e5afb87a6716708e3af46a849517afdc.php

 

los.rubiya.kr

 

 

 

문제풀이


 

쿼리문에서 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