07-12
03

真正彻底解决PJBlog被滥发垃圾广告评论与留言问题的办法

    话说过了和谐期后,第一时间把留言重新开启了,但开启后没过1分钟,刷新一下竟然发现诡异地就来了3条垃圾广告评论和2条广告留言。。。我顿时无言。。这个问题其实以前也一直困扰着我~每天上线肯定要化不少时间去删这些垃圾!但是为了与大家交流,又不舍得关闭评论,所以就一直这样耗着。。。

    对于这些可耻卑贱的所谓SEO“专家”,真是超级无敌严重的讨厌!!因为它们总是要浪费我宝贵的时间和生命!下面将这些只懂得用某些所谓“高科技”软件到别人网站群发垃圾广告的生物,我在这里尊称为动物。

     为了对付动物们,舜子在最新的2.7版的PJ中已经更换了验证码,可是很难理解依然会有那么多的广告机能随意的发垃圾。而且即使验证码显示为空白照样会有很多广告。最后,偶家家的Jay哥哥也弄了个.Net的严重复杂的验证码,但依然行不通,不过不是牛a也不是牛c的他却发现了PJBLOG存在一个严重的外部提交漏洞。

漏洞成因:

    blogcomm.asp文件对验证码判断不严格。
如果用户没有请求过GetCode.asp文件,www.x-force.cn那么服务器端Session里面的GetCode值为空,而用户提交的数据里面验证码也为空,这样刚好空等于空,反而通过了验证码验证。

    也就是说,动物们的广告群发器不去请求注册码的页面也就能直接发评论、留言,所以无论验证码多么强大,垃圾广告依然还有~~

    知道原理后,其实用 XMLHTTP 就能非常轻松地写出一个能绕过PJBlog验证码的广告群发机了,核心代码是相当的简单的!不过为了广大PJ用户,www.x-force.cn我还是不发出来吧~其实看到这里能写出来的人绝对不是少数了。话说网上某人的站子上就秀了出来。。。

不过,解决这个问题也是非常简单的,下面就来了~

引用内容
修补评论漏洞办法:
    修改blogcomm.asp文件,在94行(大概)的If判断表达式中加入 or IsEmpty(Session(”GetCode”)) 即可。

    修改后应该如下:
    IF (memName=empty or blog_validate=true) and (cstr(lcase(Session(”GetCode”)))<>cstr(lcase(validate)) or IsEmpty(Session(”GetCode”))) then


修补留言本漏洞办法:www.x-force.cn
    修改Plugins/GuestBook/bookaction.asp文件,找到 IF cstr(lcase(Session(”GetCode”)))<>cstr(lcase(validate)) 后面加上 or IsEmpty(Session(”GetCode”)) 即可。

    修改后应该如下:
    IF (cstr(lcase(Session("GetCode")))<>cstr(lcase(validate))) or IsEmpty(Session("GetCode")) then


     嗯,就改这两个地方而已。搞定了。过一两天看看还有被人乱发广告不?人肉广告可不算的哟!呵呵~如果你发现你的博客已经没有广告留言有点不习惯的话,建议每天自己手动添加10条一上指向“异次元の世界” 的广告评论~那样可能心理会平衡一点的~~哇咔咔。

    言归正传,因为不同的人使用的 PJBlog 的版本不尽相同,也有些朋友自己曾改过一些代码。所以 X-Force 不能确定这里提供的文件覆盖是否能正常,如果你确实不想搞代码的话就下载去试试。否则的话,还是建议你老老实实地修改代码吧。但是,但是!!任何操作之前记得记得要备份好旧的文件啊!!!这是最最最最重要的!

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: PJBLOG 垃圾广告
相关日志:
评论: 0 | 引用: 0 | 查看次数: 1233
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭