wnlf1029
604
2020-10-07 16:20:33 작성 2020-10-07 16:21:36 수정됨
6
557

웹 취약점 파라미터 변조 관련 질문입니다


안녕하세요

웹 취약점이 발견되어서 대응을 해야해서 질문드립니다


웹파라미터 변조를 통한 게시판 타인글 접근방지, 타인 정보 수정 등

이런 내용들은 컨트롤러에서 작성자나 세션 등을 활용해서 본인 확인 후 차단하고 있는데요


게시판에 첨부된 파일 다운로드의 경우는 보통 어떤식으로 하면 좋을까요?


현재 첨부파일 다운 방식은 파라미터로 게시글 id와  파일 id 를 넘겨주면 서버에서 게시글 id와 파일 id 로 조회 후 다운되는 방식입니다 

id가 숫자로만 되어있다보니 파라미터 변조에서 쉽게 다른 파일 id 를 입력해볼수가 있고

그런경우 다른 게시글의 파일을 다운받을수가 있습니다


게시글 조회시 세션에 게시글 id를 저장하고 파일 다운요청시 넘어온 데이터의 게시글 id 와 비교해보고

값이 다르면 차단하는 방식으로 하고자 하는데


혹시 다른 좋은방법이 있다면 조언 부탁드립니다

0
  • 답변 6

  • 날라리개발자
    708
    2020-10-07 16:47:23 작성 2020-10-07 16:48:43 수정됨

    일단 세션은 파일이 여러개일때 문제가될거고

    조회시 파일id를 암호화하고

    다운로드 요청시 복호화하세요

  • 신도로롱
    127
    2020-10-07 17:03:58 작성 2020-10-07 17:07:39 수정됨
    파일다운로드는 유연성이 필요하죠
    공개글, 회원만, 본인만, 관리자만
    따라서 다운로드 시 권한검증 로직이 필요하고 로그인 시 세션에 권한, id를 저장하고 다운로드 로직에 권한 검증 로직을 실행합니다~

    당연한 얘기지만.. 세션에 저장되는 정보는 클라이언트가 아닌 서비스에서 조회되어 저장되야합니다~ 
  • wnlf1029
    604
    2020-10-07 17:20:44

    답변 감사드립니다

    우선은 파일id 암호화하고 서버에서 복호화 하는식으로 적용해보겠습니다

  • E5presso
    32
    2020-10-08 00:30:35 작성 2020-10-08 00:55:49 수정됨

    게시글의 파일이 다운로드되는 것이 어느 지점에서 문제가 있는건가요?

    서비스의 정확한 취지를 잘 모르겠으나

    일반적으로 접근해서는 안되는 리소스라면 권한설정을 해서 막아주는 것이

    통상적인 접근방법이라고 알고 있습니다만...

    파라미터의 단순 암호화 또한 변조를 통한 접근이 가능할 수도 있으므로

    변조를 방지하는 것이 목적이라면, HMAC 값을 파라미터에 추가해서

    요청값과 대조하는 것도 방법이 될 수 있을 것 같습니다.

    참고할만한 자료인 것 같아서 아래에 링크합니다. :)


    http://blog.jakeymvc.com/sso-hmac/

  • wnlf1029
    604
    2020-10-08 09:27:57

    답변 감사드립니다

    사실 권한이 따로 있는 게시판이 아니긴한데

    일단은 파라미터 변조를 통해서 다른 게시글의 파일을 다운받을수 있다면서

    취약점 조취를 하라고 지시가 와서요

    링크해주신 내용 참고해보겠습니다

  • lkwa201
    797
    2020-10-08 09:54:47

    테이블 구성할 때 시퀀스는 무조건 들어가고, 다음으로 구성되는게 파일의 고유아이디 입니다.

    그래서 다운로드 할 때, 두 가지의 파라미터를 넘겨서 다운로드 처리 되게 로직구현 합니다.

    시퀀스는 단순 숫자, ex (1,2,3)

    파일 고유 아이디는 영문과 숫자 랜덤조합으로 구성되어집니다. 길이는 테이블컬럼에서 지정한 크기 만큼 잡습니다.



  • 로그인을 하시면 답변을 등록할 수 있습니다.