[注意]动力3.51留言本存在跨站Script攻击解决方法
最近发现MY动力管理系统 Ver 3.51的留言本首页中竟然没有对提交的变量"个人主页"着一项作过滤就入库了,而且在读库的时候也没有对他进行处理就读出。 攻击方法如下: 进入"签写留言"然后写我们的留言! 注意在“个人主页”着一项里我们写入XXX 注意为防止有人恶意攻击 我删掉这个代码!
不包括中括号,要注意前面的'>着是过滤点生成的代码和前面的匹配。 然后点发表我们的留言! 当我们进入留言本的首页时,就会出现提示关闭留言本的消息框,导致留言本不能正常进入。 这就说明攻击成功了。这个网站的留言本是我经过测试后的结果,只要打开此连接就会弹出关闭提示框。 呵呵,大家可以测试一下这个网站系统的留言本,不过,如果留言本启动审核功能的话,就会防止这种脚本的攻击。
存在同样的漏洞的还有乔客网站的留言本!
解决方法,对用户输入数据作HtmlEncode。
找到 inc/syscode_guest.asp ,查找: 大概900行:
response.write "<a href="&UserHomepage&" target=""_blank"">" response.write "<img src="&GuestPath&"url.gif width=45 height=16 alt="&UserHomepage&" border=0></a>" & vbcrlf
改为:
response.write "<a href="&dvHTMLEncode(UserHomepage)&" target=""_blank"">" response.write "<img src="&GuestPath&"url.gif width=45 height=16 alt="&dvHTMLEncode(UserHomepage)&" border=0></a>" & vbcrlf
2,找到 Admin_Guest.asp,查找: 大概940行:
response.write "<a href="&UserHomepage&" target=""_blank"">" response.write "<img src="&GuestPath&"url.gif width=45 height=16 alt="&UserHomepage&" border=0></a>" & vbcrlf
改为:
response.write "<a href="&dvHTMLEncode(UserHomepage)&" target=""_blank"">" response.write "<img src="&GuestPath&"url.gif width=45 height=16 alt="&dvHTMLEncode(UserHomepage)&" border=0></a>" & vbcrlf
类似此漏洞进一步利用:可以偷注册会员Cookies,达到Cookies欺骗。
|