※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 lv에 값을 대입해보면 1부터 4까지는 값이 출력되고 05부터는 값이 출력되지 않는다.

 

 

 lv 값으로 1 or 1=1을 넣었더니 1을 넣은 것과 동일한 결과가 나오지 않았다. 이는 이 값을 대입했을 때 제대로 동작하지 않는 것을 의미한다.

 

 

 lv 값으로 1%0aor%0a1=1을 넣어보니 1을 넣었을 때와 동일한 결과가 나왔다.

 

 

 소스를 확인해보았다. addslashes 함수는 ' -> \' 등 백슬래시를 붙여주는 함수로 문자열에서 저장 쉽게 하려고 쓰인다. 또한 공백과 /, *, %str_replace로 없애고, preg_matchselect, 0x, limit, cash를 거르고 있다. 싱글 쿼터의 우회 방법으로는 0x, %27 등의 방법이 있지만 모두 거르고 있으므로 char를 사용했다. ?lv=0%09or%09id=char(97,100,109,105,110)을 입력하면 문제가 풀린다.

 

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 49  (0) 2020.06.27
webhacking.kr challenge 48  (0) 2020.06.27
webhacking.kr challenge 43  (0) 2020.06.27
webhacking.kr challenge 42  (0) 2020.06.27
webhacking.kr challenge 41  (0) 2020.06.27