文章作者: 落叶纷飞&华夏鸡头4
信息来源: 邪恶八进制信息安全团队

kevin blog应该是大家比较喜欢的简约blog了吧,最近从流转JJ那拿了一套,今晚闲着无聊,就想看看它有什么漏洞。
看了一会,看倒comment.asp的代码貌似有点问题。代码如下:
....省略....
user=strchk(Request.Form("gname"))
msg=strchk(Request.Form("gmsg"))
mail=strchk(Request.Form("gmail"))
home=strchk(Request.Form("ghome"))
if mail="" then mail="kevinlove1986@gmail.com"
if home="" then home="kevin.hididi.net"
sql="Insert Into Comment(c_user,c_time,c_mail,c_home,c_blogid,c_content) values('" & user & "','" & now() & "','" & mail & "','" & home & "','" & id & "','" & msg & "')"
....省略....
咋一看觉得没什么问题,该过滤的都用strchk()函数过滤了。现在我们来看看strchk函数的代码:
....省略....
Function Strchk(Byval fStr)
fStr=Replace(fStr,"'",""")
fStr=Replace(fStr,"<","<")
fStr=replace(fStr,">",">")
fStr=replace(fStr,">",">")
'fStr=replace(fStr,vbnewline,"")
Strchk=fStr
End Function
....省略....
貌似把跨站的特殊字符都过滤了,但仔细看一看,没有过滤“"”。好的,我们现在来测试下,在评论页的“主页”项写入“ onmouseover=java:alert("leaves")”,当移动到主页的时候跨站框出来了。我们来猛一点的,在“主页”里输入“ onmouseover=java:alert("leaves") title="”再在“内容”里“ggsssdf"asff”点“提交”看看,怎么样,跨半屏了吧。
无聊也写了个补丁,呵呵
下载补丁

onmouseover=java:document.src="1.js" title="zzz
onmouseover=java:window.open("//www.cnsst.net/") title="