확장자'만' Whitelist로 검사하여 맞으면 통과시키는 방식..

'Web' 카테고리의 다른 글

Webhacking Study - Query sniff  (2) 2018.04.06
Webhacking Study - no more BLIND  (6) 2017.04.18
Upload 코드의 흔한 실수  (2) 2016.03.07
Custom Webshell  (0) 2016.02.12
SQL Injection Study  (3) 2015.11.13
PHP web development tips and tricks  (0) 2015.11.13
Posted by Maid:: IzayoiSakuya

댓글을 달아 주세요

  1. eorms36 2017.09.21 09:30  댓글주소  수정/삭제  댓글쓰기

    해당 코드가 어떤식으로 우회가 가능하여 취약하고 하신건지 설명해 주실 수 있나요?ㅠㅠ 몇일째 고민해봤는데 우회방법이 떠오르지않아 질문남깁니다!

    • Maid:: IzayoiSakuya 2017.10.12 10:14 신고  댓글주소  수정/삭제

      답변이 너무 늦어서 이 답변을 보실수 있을진 조금 의문이 듭니다.. 답변이 늦어진점 재차 죄송합니다.

      우선 해당코드가 PHP로 짜여져 있다는 점에서 이 코드를 사용한다면 Apache를 사용하고 있을 가능성이 높고, Apache의 설정에서 Multi-Extension을 제공하고 있을경우 해당코드에서는 test.php.jpg 등으로 우회가 가능합니다. 또한 제가 제공한 파일이름을 그대로 사용하고 있으니 경로 예측도 손쉽죠.

      제가 사용중인 php 7.0.22 버전에서는 제대로 된 확장자를 가져오는것으로 확인되고 있는데, 아마 5.x 버전에서는 위에 기술한 문제가 발생할 것으로 생각합니다.

      http://blog.habonyphp.com/entry/php-%ED%8C%8C%EC%9D%BC%EA%B2%BD%EB%A1%9C%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94-pathinfo%ED%95%A8%EC%88%98

      링크를 참조하시면 이해가 더 편하실겁니다