很难理解为什么会有那么多的广告机,而且即使验证码显示为空白照样会有很多广告。最后终于发现是因为PJBLOG存在严重外部提交漏洞。
漏洞成因:
引用内容blogcomm.asp文件对验证码判断不严格。
如果用户没有请求过GetCode.asp文件,那么服务器端Session里面的GetCode值为空,而用户提交的数据里面验证码也为空,这样刚好空等于空,反而通过了验证码验证。
考虑下面的外部提交代码(请谨慎使用):
ASP版:
程序代码<%@ LANGUAGE=”VBSCRIPT” CODEPAGE=”65001″%>
<%
Dim XMLHTTP, Param
P[……]