728x90
이번 문제는 sql injection으로 level에 맞는 id를 출력해 준다.
코드를 보면 select, or, and, (, ), limit, 공백( ) 등등 많은 공격 기법들이 막혀있다 또한 level 숫자를 바꿔도 admin은 출력되지 않으므로
12' or id='admin'# 형식을 넣어 admin이 출력되게 해야 될 것이다. (쿼리문을 참으로 만들기 위해서는 lv가 존재하지 않는 값을 넣어야 된다.)
그럼 이것을 어떻게 필터링을 우회하여 작성하냐가 문제인데
지금까지 했던 것을 조합하면 쉽게 풀 수 있다.
우선 lv는 정수형태이므로 싱글쿼터(')로 닫아줄 필요가 없고 공백과 or는 ||를 사용하여 우회하면 된다.
또한 'admin'은 0x61646d696e로 hex값을 이용하여 문자열로 표현할 수 있다.
최종적으로 12||id=0x61646d696e#를 넣으면 문제가 풀린다.
728x90
'Web > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr Challenge old-41 문제 풀이 (0) | 2024.02.06 |
---|---|
Webhacking.kr Challenge old-12 문제 풀이 (0) | 2024.02.05 |
Webhacking.kr Challenge old-51 문제 풀이 (0) | 2024.01.31 |
Webhacking.kr Challenge old-59 문제 풀이 (0) | 2023.07.13 |
Webhacking.kr Challenge old-7 문제 풀이 (0) | 2023.07.10 |