php – 这个功能是否足以进行xss检测?

我发现它在“symphony CMS”应用程序中,它非常小:

https://github.com/symphonycms/xssfilter/blob/master/extension.driver.php#L100

我正在考虑窃取它并在我自己的应用程序中使用它来清理带有HTML的字符串以供显示.你觉得它做得好吗?

ps:我知道有HTML Purifier,但那个东西很大.而且我宁愿选择不那么宽容的东西,但我仍然希望它有效率.

我一直在对这个页面的字符串进行测试:http://ha.ckers.org/xss.html.但如果对“XSS locator 2”失败了.不知道怎么可以使用该字符串来破解网站:)

不,我不会用它.有许多不同的攻击都依赖于插入数据的上下文.单一功能不会涵盖所有功能.如果仔细观察,实际上只有四个测试:
// Set the patterns we'll test against
$patterns = array(
    // Match any attribute starting with "on" or xmlns
    '#(<[^>]+[\x00-\x20\"\'\/])(on|xmlns)[^>]*>?#iUu',// Match javascript:,LiveScript:,vbscript: and mocha: protocols
    '!((java|live|vb)script|mocha):(\w)*!iUu','#-moz-binding[\x00-\x20]*:#u',// Match style attributes
    '#(<[^>]+[\x00-\x20\"\'\/])style=[^>]*>?#iUu',// Match unneeded tags
    '#</*(applet|Meta|xml|blink|link|style|script|embed|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>?#i'
);

没有其他测试.除了这些测试未检测到的攻击(假阴性)之外,它还可能错误地将某些输入报告为攻击(误报).

因此,不要试图检测XSS攻击,只需确保使用适当的消毒.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...