请教关于$AV( )

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

请教关于$AV( )

Post by 不夜侯 » Nov 10 2009, 13:20

我制定一个规则,目的是清除一些width与height值为0的网页木马iframe代码。规则如下:

Code: Select all

[Patterns]
Name = "kill iframe 木马"
Active = TRUE
Bounds = "$NEST(<iframe\s,</iframe>)"
Limit = 256
Match = "*width=$AV(0) & *height=$AV(0)*"
Replace = "<!---kill iframe 木马--->"
用$AV是想匹配有无引号皆行。但在实际应用中,不论width与height值为多少,都被过滤了。请问这个规则问题出在哪?谢谢!

User avatar
phoenix
Site Admin
Posts: 525
Joined: Dec 29 2007, 16:27

Re: 请教关于$AV( )

Post by phoenix » Nov 10 2009, 14:49

不夜侯 wrote:但在实际应用中,不论width与height值为多少,都被过滤了。请问这个规则问题出在哪?谢谢!
请给出实际例子。

不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教关于$AV( )

Post by 不夜侯 » Nov 10 2009, 15:02

不好意思,是我没看清楚代码。这代码有点变态。
<iframe width="150" height="20" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://www.sina.com.cn/iframe/2008/weather/450301.html" style="background-color:#999999"></iframe>
加个括号应该可以避免这种情况吧?

Code: Select all

[Patterns]
Name = "kill iframe 木马"
Active = TRUE
Bounds = "$NEST(<iframe\s,</iframe>)"
Limit = 256
Match = "*(width=$AV(0) & *height=$AV(0))*"
Replace = "<!---kill iframe 木马--->"


ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Re: 请教关于$AV( )

Post by ddbb » Nov 10 2009, 15:23

一般我用 * 的时候

* 和前后的字符之间 我会放一个空格的 而不是紧紧贴着.........

除非有什么特殊需要

User avatar
phoenix
Site Admin
Posts: 525
Joined: Dec 29 2007, 16:27

Re: 请教关于$AV( )

Post by phoenix » Nov 10 2009, 15:43

为了避免 *width 匹配 marginwidth ,可以写成 *\swidth

不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教关于$AV( )

Post by 不夜侯 » Nov 10 2009, 17:01

谢谢 phoenix 指点

Post Reply