HTMLPurifier不工作?

时间:2011-05-09 22:05:04

标签: php xss security htmlpurifier

我正在对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;
 }
?>

这是我的调试脚本在传递xxs时尝试(并成功0_o):

<?php
    include('common1.php');

    $t = "<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">";
    echo purify($t);
?>

1 个答案:

答案 0 :(得分:3)

您将返回未经过修改的标记。更改您的退货声明:

 function purify($data){
    $purifier = new HTMLPurifier($config);
    // untrusted input HTML
    $pure_html = htmlspecialchars($purifier->purify($data));

    return $pure_html;
 }