쉽고 깔끔하게
[LOS ; Lord of SQL Injection] 14번 giant 문제풀이 본문
728x90
반응형
문제
https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php
풀이
- preg_match($pattern, $subject, [, $matches]) : 문자열 안에서 특정한 정규식 패턴의 존재 여부를 찾는데 유용한 함수
- $pattern : 문자열로 검색할 패턴
- $subject : 입력 문자열
- [$matches] : 사용 시 패턴에 매치되는 내용을 배열에 담아둠
따라서 얻을 수 있는 정보로는 shit의 입력 값 필터링 규칙으로 다음과 같은 정보를 필터링한다는 것이다.
1) space (공백)
2) \n
3) \r
4) \t
또한 shit의 입력값의 길이가 1이 넘지 않아야 한다는 조건이 있다. (strlen())
※ 문제를 해결하기 전 참고하면 좋은 문제
2022.03.15 - [WebHacking/LOS] - [LOS ; Lord of SQL Injection] 5번 wolfman 문제풀이
이전에 풀었던 5번 wofman 문제에서 space (공백)을 우회할 수 있는 문자들에 대해 정리해놓은 것을 바탕으로 문제를 해결하고자 한다.
문자 | 16진수(Hex) | 설명 |
tab | %09 | \t 필터링으로 사용 불가 |
line feed | %0a | \n 필터링으로 사용 불가 |
vertical tab | %0b | |
form feed | %0c | |
carriage return | %0d | \r 필터링으로 사용 불가 |
/**/ | 길이 초과로 사용 불가 |
필터링 규칙으로 사용이 불가능한 것들을 제외하고 나면 vertical tab인 %0b와 form feed인 %0c만 남는 것을 알 수 있다.
이 두 가지를 이용하여 문제를 해결하면 다음과 같다.
- %0b(vertical tab)을 이용한 정답
▶︎ shit=%0b
- %0c(form feed)을 이용한 정답
▶︎ shit=%0c
728x90
반응형
'WebHacking > LOS' 카테고리의 다른 글
[LOS ; Lord of SQL Injection] 16번 succubus 문제풀이 (0) | 2022.04.01 |
---|---|
[LOS ; Lord of SQL Injection] 15번 assassin 문제풀이 (0) | 2022.03.31 |
[LOS ; Lord of SQL Injection] 13번 bugbear 문제풀이 (0) | 2022.03.28 |
[LOS ; Lord of SQL Injection] 12번 darknight 문제풀이 (0) | 2022.03.24 |
[LOS ; Lord of SQL Injection] 11번 golem 문제풀이 (0) | 2022.03.23 |