모의해킹/Lord of SQLInjection
[los] giant
휘갈기갈기
2020. 4. 7. 14:31
#문제
#문제 의도
- 입력 값 필터링 규칙 (shit)
if(strlen($_GET[shit])>1) exit("No Hack ~_~");
if(preg_match('/ |\n|\r|\t/i', $_GET[shit])) exit("HeHe");
1) 입력 값 길이가 1보다 크면 안 된다.
2) 공백
3) \n
4) \r
5) \t
- 목표
필터링을 우회하여 공백을 입력하자.
#확인사항
- 공백 우회는 wolfman 문제에서 풀어보았다.
- 공백을 대체할 수 있는 문자를 다시 한 번 정리해보자.
1) %09 // tab → \t 필터링
2) %0a // line feed → \n 필터링
3) %0b // vertical tab
4) %0c // form feed
5) %0d // carriage return → \r 필터링
6) /**/ // 주석 → 문자 길이 초과
7) () // 괄호 → 문자 길이 초과
8) 더하기(+) → %20과 동일하게 취급하여 필터링 됨
- 남은 건 %0b, %0c