我正在对 HTMLPurifier 进行一些测试,以确保一切都按预期工作。我正在使用来自http://ha.ckers.org/xss.html的示例。我认为我编码的所有内容都是“正确的”,但我能够通过其中一个 xxs 示例。有人可以帮助我吗?
这是页面 common1.php,它声明了一个函数并处理数据:
$config = HTMLPurifier_Config::createDefault();
// configuration goes here:
$config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
$config->set('HTML.Doctype', 'XHTML 1.0 Strict'); // replace with your doctype
function purify($data){
$purifier = new HTMLPurifier($config);
// untrusted input HTML
$pure_html = htmlspecialchars($purifier->purify($data));
return $data;
}
?>
这是我的调试脚本,它尝试(并成功 0_o)传递 xxs:
<?php
include('common1.php');
$t = "<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">";
echo purify($t);
?>