[原创]无<>跨站一例——kevin blog跨站解析
文章作者: 落叶纷飞&华夏鸡头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="[email]kevinlove1986@gmail.com[/email]"
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”点“提交”看看,怎么样,跨半屏了吧。
无聊也写了个补丁,呵呵
[url=http://www.cnsst.net/leaves/cnfjhh.rar]下载补丁[/url] 再写两条语句~~·
onmouseover=java:document.src="1.js" title="zzz
onmouseover=java:window.open("//www.cnsst.net/") title=" [quote]kEvin 说:
你给他说,kEvin现在放到网上的仅仅是写了一半没写好的Blog
[/quote]
实话说,kevin的这个 blog是基于l-blog 1.1修改的。他本身也不过只写了一半而已,自己用用。并也没有发布出来给外界使用。
有点问题,也算比较正常吧:) 呵呵,我无聊找个洞来玩下而已啊,不是有意针对他本人啊。 [s:188]
而且这是个不用<>跨站的典型例子,我写出来给大家做个参考而已啊 呵呵,明白。我也只是说说
页:
[1]