내 응답 헤더에 사용자 정의 매개 변수를 직접 전달합니다. 내가 배운 것은 좋은 생각이 아니기 때문에 사용자가 헤더를 조작 할 수 있고 크로스 사이트 스크립팅 공격 및 기타 여러 가지 공격을 유발할 수 있습니다.응답 헤더 유효성 검사 :
https://www.fortify.com/vulncat/en/vulncat/python/header_manipulation.html
은 내가이 문제를 방지하고 있는가하는 것은 "\ r에"빈 문자열 "\ n을"문자를 ""대체하여 "HTTP 응답 분할"에 대한 사용자 입력의 유효성을 검사합니다. 이것으로 충분합니까 아니면 다른 문자도 확인해야합니다. 어떤 포인터가 큰 도움이 될 것입니다.
이것은 내 코드입니다.
if(response != null)
{
newResponse = response.replaceAll("[\r\n]", "");
}
이런 종류의 공격을 막기에 충분하거나 다른 문자의 유효성을 검사해야합니다.
+ 1 화이트 허용. * 허용되는 문자를 지정하십시오. 모든 가능한 공격 경로 및 악용 시나리오에 대한 충분한 지식이 있다고 가정하지 마십시오. 가능한 모든 악의적 인 문자열/문자를 열거하고 거부 할 수 있습니다. 특히 유니 코드 세계에서 또는 심지어 잘못된 형식의 유니 코드 코드 포인트에 대해서 생각하지 못했던 것이 항상있을 것입니다. – Cheekysoft
예가 좋은 방법입니다. 응답에 파일 이름을 전달 중입니다. 정규식을으로 변경했습니다. if (response! = null) { newResponse = response.replaceAll ("[^ \\\\ _a-zA-Z0-9-./]", "")); } @artbristol 귀하의 도움에 감사드립니다. –