[Webhacking.kr] old-49

[Webhacking.kr] old-49

level을 입력받는 form이 하나 존재한다.

이전에도 이와 동일한 형태의 문제를 푼 적이 있는데,, 소스코드를 확인해봤다.

Challenge 49 SQL INJECTION level : view-source

form으로 받은 값이 lv파라미터에 담기는 것 같고, 필터링되고 있다.

vl파라미터는 select, or, and, \(, \), limit, ,(쉼표), \/, order, cash, , \t, \', \"가 필터링된다.

lv에 맞는 id를 가져와서 admin이면 문제가 해결되는 구조다.

id가 admin을 select할 수 있도록 lv을 조작해야 한다.

\'와 \"을 필터링하고 있으므로 id='admin' 또는 id="admin"를 입력할 수 없다.

또한 \(, \)도 필터링 중이므로 char()함수를 사용할 수 없다.

따라서 hex값을 사용해서 admin을 표현했다.

admin → 0x61646d696e

or는 필터링 중이므로 ||를 사용해서 Injection할 query를 만들었다.

0||id=0x61646d696e

old-49 해결!

from http://pd6156.tistory.com/199 by ccl(A) rewrite - 2021-10-09 06:27:32