본문 바로가기

웹/los

los 18번

los 18번

18번은 preg_match로 필터링 되는 문자열 중에서 주목해야할 점은 '#','-'이 막혀있어서 기존에 알던 방식으로 쿼리문의 뒷부분을 주석 처리할 수가 없습니다. 그래서 주석 필터링에 대한 자료를 찾아보니 addslahes나 magic_quotes_gpc가 꺼져 있어야 사용할 수 있는 ';%00'을 사용할 수 있습니다. addslahes와 magic_quotes_gpc는 쿼리문에서 오류를 발생시킬 수 있는 문자 앞에 \를 추가해주는 함수입니다. 그리고 괄호가 있기 때문에 이 부분도 우회를 해주어야 했는데 이 부분은 ')를 이용하여 괄호를 닫을 수 있습니다. 그리고 아랫줄에 길이 제한을 하는 조건이 있습니다.

 

정리하면

 

우회 해야 할 것

1. 괄호 : ') 이용해서 닫음

2. 주석처리문자인 '#','-' 필터링 되어 있기 때문에 ';%00'이용

3. 길이 6자 이내(가장 어려운 조건)

 

여기서 길이 조건이 가장 어려웠습니다. 6자이내로 작성해야하는데 1번 조건과 2번 조건때문에 이미 페이로드에 4자리를 차지합니다. 그러면 항상 참인 조건을 2자로 만족하여야하는데 이 부분이 어려웠습니다. 그래서 열심히 찾아보던 중 힌트를 주는 페이지를 찾았습니다.

링크:www.hackerschool.org/HS_Boards/zboard.php?id=QNA_Web&no=196

 

https://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_Web&no=196

 

www.hackerschool.org

이 글의 댓글을 참고하면 좋을 것 같습니다. 그리고 아래의 답을 확인하면 좋을 것 같습니다.

 

 

 

 

 

답 : ?pw=')=0;%00

' > los' 카테고리의 다른 글

los 20번  (0) 2020.11.29
los 19번  (0) 2020.11.28
los 17번  (0) 2020.11.28
los 16번  (0) 2020.11.28
los 15번  (0) 2020.11.28