xss攻击进阶篇---如何利用抓包工具Fiddler进行xss攻击

最近对自己的项目进行了xss攻击,想找到还存在什么漏洞;玩着玩着玩上瘾了,顺手帮别人的网站做了测试,结果时,不费一兵一卒就轻易拿下;还可以进行CSRF攻击,攻击别人的帐号.xss的危害可小可大;比如弄一些恶作剧,弹出一些东西,大到恶意地操作别的帐号,做一下钓鱼的入口等等


什么是xss,什么csrf;在这里我们不去讨论;相关的知识点请看之前我写过的一篇文章XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结。


下面我们开始今天的话题,如何利用Fiddler进行攻击;测试的存储型的xss攻击.

  • 第一个问题:一个页面中,什么地方最容易发送xss攻击?
    我一想到xss攻击,我第一印象就是富文本编辑;而富文本编辑,在很多地方都会到,比博客,微博,等等….这里会插入html标签,属性,如果对xss攻击的过滤做得不好,分分钟让人轻易的攻击到.无图无真相,下面附上攻击成功的图;为了不给自己带来麻烦,我模糊掉一些信息.

这里写图片描述

由上图可知,我们在用户输入的地方一定一定做过滤.
- 第二个问题:怎么绕过前端的xss攻击过滤
我们里Fiddler拦截我们要发送的数据,修改其中的数据,就能绕过前端的xss检测;下面我们来说一下具体的步骤;
1.打开fiddler,设置断点,步骤如图
这里写图片描述
2.打开拦截到数据,修改数据,然后再继续发送(Run to Completion)
这里写图片描述

通过上面的两张图,我们知道了怎么通过Fiddler去修该数据包,然后在发送,这时候我们已经是绕过前端的检测,哈哈,是不是很爽,我们根本不是在前端页面中插入数据的,如果能在页面的直接插入脚步而不被过滤掉,那么这页面也太烂了,你说是吧;下一步是怎么绕过后台的检测,这才是重头戏.

今天我用的攻击方法是:利用原生碼native code 编码绕过后台的检测.

//首先构造攻击代码
<img src="1" onerror="alert('from xss')">
//生成的native code

\u003c\u0069\u006d\u0067\u0020\u0073\u0072\u0063\u003d\u0022\u0031\u0022\u0020\u006f\u006e\u0065\u0072\u0072\u006f\u0072\u003d\u0022\u0061\u006c\u0065\u0072\u0074\u0028\u0027\u0066\u0072\u006f\u006d\u0020\u0078\u0073\u0073\u0027\u0029\u0022\u003e

然后植入到数据包中,看能否绕过后台的检测;很幸运的,我绕过去了.我之前试过其他的方式,都没有绕过去…
这是时候,我们成功地植入我们的脚本,我们通过我们的脚本,可以修改原来页面的内容;这个网站最可怕的地方是,我可以通过我的脚本获取到用户的cookie信息,通过伪造请求,可以实现很多操作,删除用户的资料等等的.好可怕.最不济,我也能构造一个钓鱼页面..想想都可怕


最后总结一下我的观点:
1.在用户输入的地方,不管是前端还是后端都要做过滤;虽然前端是可以绕过去,但是我们前端还是要尽自己的能力保护后端.
2.从后端获取到用户的编辑的富文本数据,前端页面在插入数据前,一定要把元素事件过滤掉,比如onerror onclick 等等.

Fiddler+X5S(XSS漏洞扫描,抓包)工具 Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展。 Fiddler支持断点调试技术,当你在软件的菜单—rules—automatic breakpoints选项选择before request,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯,并且允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。 通过显示所有的Http通讯,Fiddler可以轻松地演示哪些用来生成一个页面,通过统计页面(就是Fiddler左边的那个大框)用户可以很轻松地使用多选,来得到一个WEB页面的“总重量”(页面文件以及相关js,css等)你也可以很轻松地看到你请求的某个页面,总共被请求了多少次,以及多少字节被转化了。 用户可以加入一个Inspector插件对象,来使用.net下的任何语言来编写Fiddler扩展。RequestInspectors 和 ResponseInspectors提供一个格式规范的,或者是被指定的(用户自定义)Http请求和响应视图。 另外,通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。 同类的工具有: httpwatch, firebug, wireshark。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值