2010-12-01 2 views
0

양식 중심에있는 MODx를 사용하는 웹 사이트가 있습니다. 양식이있는 웹 페이지에 대한 액세스는 등록 된 회원으로 제한됩니다 (MODx에서 처리). 사용자가 몇 개의 텍스트 항목을 채우고 업로드 할 파일을 선택한 다음 제출을 누르십시오. 지정된 작업은 제출 된 정보를 기록하고 파일을 저장하는/cgi-bin 아래의 submit.py CGI 스크립트이며 완벽하게 실행됩니다.HTML 양식 원본을 기반으로 CGI 스크립트에 대한 액세스를 차단합니다.

내가 가진 유일한 관심사는 그들이 <form> action 속성에 대한 올바른 URL을 지정하는 경우 어떤 형태 (분명히), 내 CGI 스크립트에 자신의 양식을 링크 할 수있을 것으로 보인다는 것이다. 자신의 페이지에 다음을 쓸 수 있다는 것을 의미합니다.

<form action="http://my-site.com/cgi-bin/submit.py"> 
    <!-- blah blah blah --> 
</form> 

데이터가 내 CGI 양식으로 전송되어 처리됩니다 (바람직하지 않은 동작).

내 질문은 : 거기에 데이터를 보낸 HTML 양식을 기반으로 스크립트의 실행을 제한하는 방법은 무엇입니까? 나는 정말 분명한 것을 놓치고 있는가?

온라인으로 검색 한 결과 CSRF와 약간 관련이있는 문제가 발견되었지만 CGI 스크립트의 무단 사용을 막기 위해 토큰 인증과 다른 방식이 있다면 나는 그것을 듣고 싶습니다.

답변

0

올바른지 확인하기 위해 양식과 함께 보내야하는 토큰을 한 번만 사용할 수 있습니다 (이는 언급 한 바와 같습니다).

그래도 잡아서 보낼 수도 있지만.

리퍼러를 검사하는 것은 쉽게 스푸핑되거나 없기 때문에 유용하지 않습니다 (일부 프록시는이를 필터링합니다).

간단히 말해 토큰을 사용하지 않으면 문제가 발생합니다. 웹상의 다른 모든 사람들을 제외하면이 문제가 있습니다. :)

관련 문제