刚刚看blog时发现了一个好意黑客发给我的一条“恶意pjblog漏洞利用”的留言,立即找到相关资料进行修补,在这里先谢谢他啦,很想认识你(好心黑客),blog左侧有我的msn,加我一下吧。
下面贴出该黑客提供的漏洞代码利用方法(请不要胡乱使用)及PJBlog2.6应对该跨站漏洞的修补方法:
跨站漏洞代码利用方法:
PJBlog2.6应对该跨站漏洞的修补方法:
(1)简单的方法是屏蔽关键字:
在PJBlog后台留言与评论中的过滤关键字功能,expression(container、unescape、iframe。但这个方法治标不治本。
(2)修改两个含有漏洞的asp文件:
Blog目录/Plugins/GuestBook/guestbook.asp
Blog目录/class/cls_article.asp
查找guestbook.asp中的
<%=UBBCode(HtmlEncode(GuestDB(“book_Content”)),0,GBSet.getKeyValue(“ubbCode”),GBSet.getKeyValue(“ImgCode”),GBSet.getKeyValue(“autoURL”),1)%>
改成
<%=CheckStr(UBBCode(HtmlEncode(GuestDB(“book_Content”)),0,GBSet.getKeyValue(“ubbCode”),GBSet.getKeyValue(“ImgCode”),GBSet.getKeyValue(“autoURL”),1))%>
查找cls_article.asp中的
<%=UBBCode(HtmlEncode(blog_CommContent),commArr(4,Pcount),blog_commUBB,blog_commIMG,commArr(7,Pcount),commArr(9,Pcount))%>
改成
<%=CheckStr(UBBCode(HtmlEncode(blog_CommContent),commArr(4,Pcount),blog_commUBB,blog_commIMG,commArr(7,Pcount),commArr(9,Pcount)))%>
这样修改好两个文件后,就应该不会有此漏洞问题了
正在考虑是不是要像上面那位黑客朋友一样,给朋友贴些警告代码来提示修复漏洞,哈哈