XSS 관련하여 해결방법에 대해 문의드려요. 채택완료
안녕하세요 ?
사내 보안사항에서 XSS 미조치건으로
board.php 에 stx 파라미터의 사용자 입력값을 필터링하라고 하는데요. 취약점이라고, "><script>alert(documen.cookie)/</script> 체크가 됩니다.
그누보드 최신 버전에서 이 부분에 대해 길이기 짧긴하지만 해결한거 같은데, 계속 이 부분이 취약하다고 몇번 지적을 받았는데, 어딜 어떻게 더 수정해야하는지 몰라서 글을 올려붑니다.
혹시 경험있으신 분의 조언을 부탁드립니다.
답변 3개
채택된 답변
+20 포인트
Min아빠
2년 전
lib에 common.lib.php에 보면
Copy
function get_search_string($stx)
{
$stx_pattern = array();
$stx_pattern[] = '#\.*/+#';
$stx_pattern[] = '#\\\*#';
$stx_pattern[] = '#\.{2,}#';
$stx_pattern[] = '#[/\'\"%=*\#\(\)\|\+\&\!\$~\{\}\[\]`;:\?\^\,]+#';
$stx_replace = array();
$stx_replace[] = '';
$stx_replace[] = '';
$stx_replace[] = '.';
$stx_replace[] = '';
$stx = preg_replace($stx_pattern, $stx_replace, $stx);
return $stx;
}
$stx = get_search_string(trim($_REQUEST['stx']));
이런식으로 처리하시면 됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
Actonsoft
2년 전
해당 부분은 충분히 조작 가능하기에 서버 헤더 부분에 조치를 취하는게 적합한듯합니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
techstar
2년 전
액트온님 어떻게 서버 헤더 부분을 조치하는지 자세히 알려주실수 있으실까요 ? 제가 잘 모르는 부분이라 알려주시면 배우겠습니다.
2년 전
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-XSS-Protection
참고 해보시면 되실듯합니다! 좋은 주말되세요!
참고 해보시면 되실듯합니다! 좋은 주말되세요!
댓글을 작성하려면 로그인이 필요합니다.
swallow
2년 전
PHP에 특수기호들을 변환해주는 함수를 사용하면 어떨까요?
Copy
function safe_string($text)
{
$search = array("\\", "\0", "\x1a", "\x8");
$replace= array("\\\\", "\\0", "\\Z", "\\b");
$text = str_replace($search, $replace, $text);
$text = htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return $text;
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인