문제에 접속하면 다음과 같은 화면이 나타납니다.
-> SQL INJECTION 문제입니다.
바로 source를 확인하였습니다.
-> lv를 다양하게 필터링하는 것을 확인할 수 있습니다.
-> 코드를 보면 쿼리의 결과 id가 admin이면 문제를 해결할 수 있습니다.
-> select가 필터링되어 테이블 자체에 id가 admin인 데이터가 존재하는 것을 알 수 있습니다.
따라서 쿼리를 lv = -1 or id = 'admin' 식으로 쿼리를 완성하면 문제를 해결할 수 있습니다.
'(싱글 쿼터), "(더블 쿼터), 0x, 공백을 필터링합니다.
()를 필터링하지 않으므로 char함수를 사용하여 admin 문자열을 만들 수 있습니다.
ex) char(97, 100) = 'ad'
payload : ?lv=(-1)or(id=char(97,100,109,105,110))
끝~~
'Hacking > WebHacking.kr' 카테고리의 다른 글
Webhacking.kr : old-03 (350pt) (0) | 2021.02.27 |
---|---|
Webhacking.kr : old-49 (300 pt) (0) | 2021.02.12 |
Webhacking.kr : old-11 (300 pt) (0) | 2021.02.11 |
Webhacking.kr : old-07 (300 pt) (0) | 2021.02.11 |
Webhacking.kr : old-05 (300 pt) (0) | 2021.02.10 |