LOS : https://los.rubiya.kr/
✔️ 문제
문제는 다음과 같다.
앞서 푼 문제들이랑은 다른 쿼리문으로 되어있다.
✔️ 풀이
풀이를 위한 코드는 다음과 같다.
if($result[1234]) solve("giant");
공백, \n, \r, \t 에 대한 필터링이 걸려있고,
앞선 문제들과 다르게 from과 prob_giant 라는 테이블에서
1234가 조회될 수 있도록 만드는 문제로 보인다.
또한, strlen 함수로 길이에 대해서도 우회해야할 것이다.
결국 공백을 우회해야하는 문제인데,
앞서서 공부했던 내용들과 마찬가지로
공백문자를 우회하는 방법으로는 다음과 같다.
(rubiya님 참고: https://www.hackerschool.org/Sub_Html/HS_Posting/?uid=43)
1) 라인피드(Line Feed) \n -> %0a
2) Tab \t -> %09
3) Carrage Return \r -> %0d
4) 주석처리 /**/
5) 괄호 (), 더하기 +, %0b, %0c ···
해당 항목에서 주석처리를 하게 되면,
strlen > 1 에 해당하기 때문에
다음 노핵을 마주할 수 있다.
앞서서 1~4번을 제외하고 5번에 대해서 시도해보면
간단하게 문제가 풀리는 것을 확인할 수 있다.
공백을 대신하여 사용하는 것은
해당 URL Encoding 설명에서 나온 것처럼
사용할 수 있고 LF와 CR은 필터링 걸려있으므로
%0b와 %0c를 사용해주도록 하자.
화이팅 💪
'보안 > LOS' 카테고리의 다른 글
[LOS] succubus (0) | 2022.12.23 |
---|---|
[LOS] assassin (0) | 2022.12.23 |
[LOS] bugbear (0) | 2022.12.22 |
[LOS] darknight (0) | 2022.12.22 |
[LOS] golem (0) | 2022.12.22 |