一聚教程网:一个值得你收藏的教程网站

热门教程

解决PJBlog3 V3.2博客给恶意注册问题 修复验证bug

时间:2022-06-30 09:12:26 编辑:袖梨 来源:一聚教程网

前天发现博客会员数增加了很多,查了下,很多属于恶意注册用户并且已持续了几个月:

解决PJBlog3 V3.2博客给恶意注册问题  修复验证bug

解决PJBlog3 V3.2博客给恶意注册问题  修复验证bug

搜索IIS日志,能查到对应的POST信息:

引用内容

2014-12-18 07:29:05 W3SVC179938905 42.121.105.222 POST /register.asp - 80 - 178.43.73.53 Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 404 0 2


这说明恶意注册都是通过提交表单完成的,会不会是验证码被破解了?清除完恶意记录,对验证码进行了升级,但是昨天查看恶意注册仍在继续,会不会是数字验证码太容易破解?再次升级用中文验证码,今天查看恶意注册还在进行中 解决PJBlog3 V3.2博客给恶意注册问题  修复验证bug

修改register.asp文件,保存注册数据,得到如下信息:

username=Ldoo88w6j&password=qwedsa&Confirmpassword=qwedsa&Gender=0&email=&hiddenEmail=1&homepage=http%3A%2F%2Fcompresseibrig.eu&validate=&action=save&submit2=%E6%B3%A8%E5%86%8C%E6%96%B0%E7%94%A8%E6%88%B7

空验证码也可以注册?在页面上试了下,不行,但放在Fiddler2中提交却注册成功了,为什么?打开register.asp看了下相关程序:

 代码如下 复制代码
If CStr(LCase(Session("GetCode")))<>CStr(LCase(validate)) Then
    ReInfo(0) = "错误信息"
    ReInfo(1) = "验证码有误,请返回重新输入
javascript:history.go(-1);"">单击返回"
    ReInfo(2) = "ErrorIcon"
    register = ReInfo
    Exit Function
End If

明白了,这边有个BUG:

用第三方程序提交时,不调用common/getcode.asp,验证码Session("GetCode")的值为空,所以空验证码也能注册。

解决方法:打开register.asp文件,修改程序如下(166行):
 代码如下 复制代码
If CStr(LCase(Session("GetCode")))<>CStr(LCase(validate)) Or Session("GetCode")="" Then
    ReInfo(0) = "错误信息"
    ReInfo(1) = "验证码有误,请返回重新输入
单击返回"
    ReInfo(2) = "ErrorIcon"
    register = ReInfo
    Exit Function
End If

OK,问题解决。

后记:网上搜索了下,中招的不只我的博客:

解决PJBlog3 V3.2博客给恶意注册问题  修复验证bug

解决PJBlog3 V3.2博客给恶意注册问题  修复验证bug 

热门栏目