서버 측을 통해 PERL이라고 불리는 경우 "Suexec 정책 위반"의 원인은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2033726

  •  19-09-2019
  •  | 
  •  

문제

서버 측에서 호출되는 Perl 스크립트를 작업중인 Apache 2 서버에서 포함하고 있습니다. 스크립트는 실제 오류를 표시하는 대신 일반적인 "내부 서버 오류"페이지를 표시합니다. Apache 오류 로그를 확인하면 다음 메시지가 표시됩니다.

unable to include "/foobar/index.pl" in parsed file /home/foouser/domains/foosite.com/public_html/foobar/index.shtml, referer: http://www.foosite.com/foobar/
suexec policy violation: see suexec log for more details, referer: http://www.foosite.com/foobar/
Premature end of script headers: settings.pl, referer: http://www.foosite.com/foobar/

"내부 서버 오류"대신 오류를 표시하기 위해 PERL 스크립트를 얻으려면 어떻게해야합니까?

업데이트:

나는 이것에 대해 별도의 질문을 했어야했다. 하다 브라우저에 오류를 보내십시오 (고마워 브라이언):

use CGI::Carp qw(fatalsToBrowser);

그러나 Perl 스크립트가 아닌 Apache Config에 문제가있는 경우 Perl 코드가 해석되지 않으므로 오류가 브라우저로 전송되지 않습니다. 이 경우, 우리는이 행으로 인해 Apache 오류가 발생한다고 말할 수 있습니다.

 suexec policy violation: see suexec log for more details

이것은 Apache가 Suexec 모드에서 실행될 때 (공유 호스팅에 일반적 인 것 같습니다) 발생합니다. 이 오류를 일으키기 위해 정확히 무엇이 변경되었는지 잘 모르겠지만 그것이 제가 알아 내려고하는 것입니다.

도움이 되었습니까?

해결책

아마도 당신은 공유 호스팅을 사용하고 있으며이 문제가 있습니다. 스크립트 디렉토리 아니면 그 스크립트 파일 다른 권리가 있습니다 755.

여기 하나가 있습니다 사례 네덜란드에서 번역.

다른 팁

사용 CGI :: 잉어'에스 fatalsToBrowser.

 use CGI::Carp qw(fatalsToBrowser);

당신은 또한 내 것을보고 싶을 수도 있습니다 Perl CGI 스크립트 문제 해결.

오류 메시지에서 서버 측에서 CGI 스크립트를 실행할 수 없다고 생각합니다. 어떤 버전의 아파치를 실행하고 있습니까? 오래된 아파치라면 참조하십시오 Apache 1.3의 Suexec 문서, 또는 새로운 아파치 인 경우 Apache 2.0의 Suexec 문서.

사용자의 친근감을위한 것이 아니라 사용자가 그것에 대해 아무것도 할 수 없을 때 사용자에게 정확한 오류를 보여주지 않는 경우가 종종 있습니다. 예를 들어, 백엔드 서버를 사용할 수 없다고 상상해보십시오. 사용자로서 웹 애플리케이션에서이를 해결하기 위해 무엇을 할 수 있습니까?

경우에 따라 오류 메시지에는 "SQL 오류 : 불법 구문. 타의 추종을 불허"와 같은 유용한 정보가 포함됩니다. 사용자가 입력에 견적을 입력 한 경우이 피드백은 SQL 주입 취약성을 나타냅니다.

다른 양성 메시지는 사용자에게 보여주기가 좋지 않습니다. 공격자가 원하는 핵심은 "다른 일이 일어난 일"을 아는 것입니다. 응용 프로그램이 하나의 입력에 대해 하나의 오류를 인쇄하고 다른 Iinput에 대한 다른 오류를 인쇄하면 공격자는 다른 것이 잘못되었고 이것이 초점을 맞추기 흥미로운 곳이라는 것을 알고 있습니다.

프로덕션 사이트에서 오류는 파일에 로그인하고 적절한 경우 웹 인터페이스를 통해 다운로드 할 수 있어야하지만 크로스 사이트 스크립팅을 피하기 위해 브라우저에 출력을 소독 할 수 있도록 매우주의하십시오. 또한 디버그와 프로덕션간에이를 재구성 할 수있는 사용자 제출 옵션이 없어야합니다 (Post 또는 CGI 매개 변수를 통해 제어하지 말고 구성 파일 옵션을 통해 제어하지 마십시오).

이것은 3 가지 요소 일 수 있습니다.

  1. 권한 레벨 RWX 설정 잘못 (실행/writeness 레벨)
  2. UUID/Guid는 Apache 설정과 일치하지 않습니다
  3. 위의 2 가지 조합.

자세한 내용은 Apache Suexec+ErrorLog를 확인하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top