▼ Challenge 39는 다음과 같습니다. ( index.phps로 바로 들어가겠습니다. )
"\\"는 ""으로 치환되고,
싱클쿼터 (') 는 싱글쿼터 2개 ('') 로 치환 됩니다.
위의 query 문에서 where 절의 값이 True만 나오면 "good"이 출력 됨으로
id 에 있을 법한 값을 입력하면 될 것 같습니다.
그러나, 자세히 보니 id=' 이런식으로 싱글쿼터가 하나만 붙어 있어서
직접 문제를 풀어보신 분들은 쉽지 않음을 알 수 있습니다.
php 코드까지 만들어 이것저것 입력하면서
치환되는 값을 직접 눈으로 확인하며 실습하였습니다.
▼ 이것저것 해보다가 substr()이 눈에 들어왔고,
마지막 싱글쿼터 2개를 하나만 출력하게 만들면 될 것 같다는 영감이 떠올랐습니다.
그러나 admin을 어떻게 15자리로 만들까 고민하다가
▼ 다음과 같이 문자열 끝에 공백이 있어도 해당 문자열로 인식한다는 것을 알아냈습니다.
▼ 따라서 다음과 같이 [ admin ' ] (띄어쓰기 9번) 이라고 입력하면
마지막 싱글쿼터 중 1개는 제외됨으로 문제를 해결할 수 있습니다.
'WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Challenge 25 :: LFI (Local File Inclusion) 취약점 (0) | 2015.11.17 |
---|---|
[webhacking.kr] Challenge 19 :: Base64, MD5 (0) | 2015.11.17 |
[webhacking.kr] Challenge 38 :: Log Injection (0) | 2015.11.16 |
[webhacking.kr] Challenge 04 :: Base64, SHA1 (0) | 2015.11.16 |
[webhacking.kr] Challenge 06 :: Base64 (0) | 2015.11.16 |