0
내가 지금 무덤 악센트 난독 XSS 공격, 나는 가능한 XSS 공격을 확인
function clean($str) {
$str = htmlspecialchars(strip_tags(trim(mb_convert_encoding($str, 'UTF-8', 'UTF-8'))), ENT_QUOTES, 'UTF-8');
return $str;
}
라는 문자열을 청소 여기 내 기능을 가지고 iframe을에서 탈출 할 수없는, 그리고이 하나
<img src"$str">
하지만 경우에 확인했다 나는 다음과 같은
$attr = clean("javascript:alert(\"RSnake says, 'XSS'\")");
$str = "<iframe src=\"$attr\">";
그러나 $str = "<img src=\"$attr\">";
것이 안전하다고를 사용하여 JS
가 실행 된 <iframe src"$str">
에 요소를 교환.
이 취약점을 어떻게 처리합니까?
나는 다음과 같은 시도이
function clean($str) {
$str = htmlspecialchars(strip_tags(trim(mb_convert_encoding($str, 'UTF-8', 'UTF-8'))), ENT_QUOTES, 'UTF-8');
$str = htmlentities($str, ENT_QUOTES);
return $str;
}
네, 그게 내가 그것을 해결하려고했는데,하지만 누군가가 htmlent + htmlspec을 사용하여 말한 것을 기억합니다. '& quot quotequot'또는 무엇인가 – AXAI
@AXAI로 변환 할 것입니다. 문자열 만 표시하려면 문제가 없지만 문자열을 기본 형식으로 복원하려면 문제가 발생할 수 있습니다. 그렇지 않으면 괜찮습니다. – mega6382
HTML 파서는 엔티티를 URL 파서에 전달하기 전에 일반 문자로 변환하므로 전혀 도움이되지 않습니다. – Quentin