문제 화면입니다.
문제의 소스 코드입니다.
addslashes 함수로 ', ", \, null 문자에는 \가 붙어서 일반 문자로 바꿔버립니다.
추가로 str_replace 함수로 공백, /, *, % 문자는 null로 치환됩니다.
마지막으로 select, 0x, limit, cash 문자에 대한 필터링이 걸려있습니다.
lv를 입력하면 각 lv에 해당하는 id 값과 cash 값이 나옵니다.
lv 5부터는 id가 없습니다.
이는 admin은 lv 값을 가지고 있지 않다는 의미입니다.
즉, lv 조건이 아닌 id 조건을 사용해야 합니다.
그래서 lv에는 0을 넣어주고 id=admin 조건을 or로 연결해주면 됩니다.
싱글 쿼터를 사용할 수 없으므로 mysql의 char 함수를 통해서 admin을 id에 넣어주면
문제가 풀립니다.
최종 쿼리는 아래와 같습니다.
lv=0||id=char(97,100,109,105,110)
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge RPG1 write-up (0) | 2022.08.11 |
---|---|
[Webhacking.kr] Challenge g00gle2 write-up (0) | 2022.08.11 |
[Webhacking.kr] Challenge old-49 write-up (0) | 2022.08.09 |
[Webhacking.kr] Challenge old-21 write-up (0) | 2022.08.09 |
[Webhacking.kr] Challenge old-19 write-up (0) | 2022.07.28 |