2011-10-15 3 views
1

일부 PHP 스크립트에 대한 보안을 테스트 해본 결과 suhosin이 게시 된 변수를 거대하게 제거한다는 사실을 발견했습니다 ...이 스크립트는 훌륭하고 바람직하지만 필자는 스크립트가 가능하도록하고 싶습니다. suhosin이 요청을 변경했음을 알리기 위해suhosin이 요청 변수를 변경했는지 어떻게 알 수 있습니까?

suhosin은 스크립트가 감지 할 수있는 방식으로 어떤 조치가 취해 졌음을 나타 내기 위해 지문을 남기지 않습니까? 스크립트가 실행되기 전에 던져서 잡을 수 있기 때문에 E_USER_WARNING과 같은 것을 트리거 할 수 없다고 추측합니다. 어쩌면 환경 변수 또는 특별한 전역 변수일까요?

나는 몇 가지 접근법을 직접 시도했지만 아무 것도 보지 못했습니다 ... 아마 suhosin이이를 구성해야 할 필요가 있을까요? suhosin 문서가 이해하기 어렵다는 것을 알았습니다.

답변

0

예, 지문은 아니지만 로깅 : Suhosin Logging Configuration입니다.

+0

로깅에 대해 알고 있었지만 지금도 문서를 다시 읽은 후에도 현재 요청한 스크립트가 입력에 대한 suhosin 활동을 어떻게 알고 있는지 알 수 없습니다. suhosin.log.phpscript.name은 아마도 실행되는 별개의 * 스크립트 일 것입니다. 당신은 정교 할 수 있습니까? – dlo

+0

구체적이지 않습니다. 하지만 요청 시간, 예를 들어 원격 IP 및 스크립트 이름/요청 문자열로 해당 로그를 쿼리 할 수 ​​있습니다. – hakre

0

Suhosin의 입력 필터는 잠재적으로 위험한 페이로드를 걸러 내기 위해 설계되었습니다. 너무 큰 요청, 투명하게. 스크립트가이 필터를 감지하고이 정보를 기반으로 프로그램 흐름을 변경할 수 있다면 공격자가 필터를 우회하는 것이 훨씬 쉬울 것입니다.

필터 제한은 가능한 한 엄격하지만 필요한만큼 넓게 설정해야합니다. 귀하의 스크립트는 Suhosin의 존재를 감지하지 못하고 실행해야합니다.

관련 문제