返回列表 回复 发帖

PJBlog 170版本重要安全补丁(2009-04-22)所有PJ170用户必须更新此补丁

4.22补丁:

增加 Checkxss()重要函数。

代码安全由 安全小组 测试通过。

升级包请下载后直接覆盖

'==============================================
'补丁修改方法
'==============================================
Action.asp
request("cname") 改成 Checkxss(request.QueryString("cname"))
request("mainurl") 改成 Checkxss(request.QueryString("mainurl"))
request("main") 改成 Checkxss(request.QueryString("main"))

common/function.asp中增加函数
  1. '*************************************
  2. '防XSS注入函数 更新于2009-04-21 by evio
  3. '与checkstr()相比, checkxss更加安全
  4. '*************************************
  5. Function Checkxss(byVal ChkStr)
  6.     Dim Str
  7.     Str = ChkStr
  8.     If IsNull(Str) Then
  9.         CheckStr = ""
  10.         Exit Function
  11.     End If
  12.     Str = Replace(Str, "&", "&")
  13.     Str = Replace(Str, "'", "´")
  14.     Str = Replace(Str, """", """)
  15.         Str = Replace(Str, "<", "&lt;")
  16.         Str = Replace(Str, ">", "&gt;")
  17.         Str = Replace(Str, "/", "&#47;")
  18.         Str = Replace(Str, "*", "&#42;")
  19.     Dim re
  20.     Set re = New RegExp
  21.     re.IgnoreCase = True
  22.     re.Global = True
  23.     re.Pattern = "(w)(here)"
  24.     Str = re.Replace(Str, "$1here")
  25.     re.Pattern = "(s)(elect)"
  26.     Str = re.Replace(Str, "$1elect")
  27.     re.Pattern = "(i)(nsert)"
  28.     Str = re.Replace(Str, "$1nsert")
  29.     re.Pattern = "(c)(reate)"
  30.     Str = re.Replace(Str, "$1reate")
  31.     re.Pattern = "(d)(rop)"
  32.     Str = re.Replace(Str, "$1rop")
  33.     re.Pattern = "(a)(lter)"
  34.     Str = re.Replace(Str, "$1lter")
  35.     re.Pattern = "(d)(elete)"
  36.     Str = re.Replace(Str, "$1elete")
  37.     re.Pattern = "(u)(pdate)"
  38.     Str = re.Replace(Str, "$1pdate")
  39.     re.Pattern = "(\s)(or)"
  40.     Str = re.Replace(Str, "$1or")
  41.         re.Pattern = "(\n)"
  42.     Str = re.Replace(Str, "$1or")
  43.         '----------------------------------
  44.         re.Pattern = "(java)(script)"
  45.     Str = re.Replace(Str, "$1script")
  46.         re.Pattern = "(j)(script)"
  47.     Str = re.Replace(Str, "$1script")
  48.         re.Pattern = "(vb)(script)"
  49.     Str = re.Replace(Str, "$1script")
  50.         '----------------------------------
  51.         If Instr(Str, "expression") > 0 Then
  52.                 Str = Replace(Str, "expression", "e&shy;xpression", 1, -1, 0) '防止xss注入
  53.         End If
  54.     Set re = Nothing
  55.     Checkxss = Str
  56. End Function
复制代码
class/cls_logAction.asp中找到
  1. oldcname = request.form("oldcname")
  2.                 oldcate = request.form("oldcate")
  3.                 oldctype = request.form("oldtype")
复制代码
改成
  1. oldcname = Checkxss(request.form("oldcname"))
  2.                 oldcate = Checkxss(request.form("oldcate"))
  3.                 oldctype = Checkxss(request.form("oldtype"))
复制代码
GetArticle.asp
blog_postFile = request("blog_postFile")  改成  blog_postFile = Cint(Checkxss(request.QueryString("blog_postFile")))
不知道大家还有什么问题不?
附件: 您所在的用户组无法下载或查看附件
这个社会是个大茶几,上面放满了各种杯具。
效率不错。。。大家快点来打补丁吧。

-----------------------------------------------------------
竟然有人不会补。。直接下载附件,解压后,上传到你BLOG的根目录进行覆盖就可以了。

怎么更新呢?

前排就坐。。。。哈哈`SF
从新建了新站诚招友情连接:http://www.hzoo.info/
是运行那个action.asp文件么?
更新了,很正常

[ 本帖最后由 南无忧 于 2009-4-22 15:56 编辑 ]
提示: 作者被禁止或删除 内容自动屏蔽
看看`
Yu Zai's BloG


我放手並不代表我放棄,正如我微笑並不代表我快樂。
来的真巧,哈哈
返回列表