[그림 01] level18 시작


level18에서는 SQL Injection이라고 합니다.

먼저 phps를 통해 php문을 확인해보도록 합시다.


[그림 02] php문


php에서는 union, select, from, 0x, (띄어쓰기), /, \(, \), \t, \|, &에 대한 필터링이 걸려 있는 것을 볼 수 있습니다.

그럼 우리는 어떤 것이 허용되었는지 확인해야할 필요가 있습니다.


처음 0 or no=1으로 or나 and를 확인해보기 위해 %20대신 %0a를 사용하였습니다.

0%0aor%0ano=1을 GET 으로 넘겨주니 or와 %0a가 먹히는 것으로 보입니다.


이제 %0a와 or를 활용하여 admin을 얻어와야 하는데...


[그림 02]에서 테이블에 있는 admin을 받아와야 하기 때문에 반환값을 조정하기 위해 limit을 이용하여 하는 방법이 가장 옳다고 생각됩니다.

(중간에 저도 깨달음을 얻었습니다.. 시간이 너무 소요가 되었어요..)


즉, q[0]에 반환되는 값을 admin으로 받으려면 Table 내에 있는 admin을 가져와야 한다는 의미입니다.

limit 0,1이 guest일 것이기에, 우리는 limit 1,1로 admin이 있는지 확인해봅시다.


[그림 03] 적중!


다행히 limit 1,1의 위치에 admin이 있었습니다.


'WARGAMES > webhacking.kr - old' 카테고리의 다른 글

Webhacking.kr_No.25(150) - old  (0) 2016.12.08
Webhacking.kr_No.24(100) - old  (0) 2016.06.28
Webhacking.kr_No.23(200) - old  (0) 2016.06.28
Webhacking.kr_No.20(200) - old  (0) 2016.06.28
Webhacking.kr_No.17(100) - old  (0) 2016.06.28
Webhacking.kr_No.16(100) - old  (0) 2016.06.28
Webhacking.kr_No.15(50) - old  (0) 2016.06.28
Webhacking.kr_No.14(100) - old  (0) 2016.06.28

+ Recent posts