今天pybeef作为一个课程设计答辩完成了,向老师介绍了很多xss利用相关的场景和技术。

先说一下已经实现了什么,

1, 浏览器版本的判断

这方面只能判断IE和firefox 火狐判断只判断了user-agent ,IE是通过浏览器的特性,关于IE edge 是我根据IE10的一些特性测试得出的,如果判断顺序合理的话肯定是准确的。

后续:肯定要加上chrome浏览器

2,js-shell 命令执行

其实就是一个传过去一个函数,hook端接收执行一下,很鸡肋的一个功能,但是为了让框架完整加上了这种返回的命令控制模块。

3,读取内网的ip

webrtc是一个大坑,勉强给填上了,还是不想再深入了拿到ip地址就好。

后续 :IE不支持webrtc beef用host字段来标识浏览器。

代码放到了github上,欢迎大牛提建议

https://github.com/littleworldwar/pybeef

昨天还发现了一个bug,得到的cookie不能完全传回来,只能传回来一点,虽然老师不能发现,但是对于一个xss工具来说这是一个很致命的错误了,毕竟大家用xss都是为了获取cookie ,这方面我会继续研究下去的。

另一个问题还是架构上的问题,我其实已经模仿了beef 的架构,但是发现自己还是没有领悟精髓。

我主要是用ajax传回数据,beef好像不是这样。

beef的hook端有两种请求,

一是类似hook.js?hook_id=xxxxxxx 特定间隔重复发出 ,用来探测目标是否存活,同时传回命令执行

二是dh?asdasdads (携带了初始的一些重要信息)初始信息发送,其余时候不详

下阶段改进:

1,先把浏览器的判断整全

2,cookie要传回来,hook端请求方式可能要改,不行就用websocket

3, 同样和beef一样要分成两种请求回传数据,现在只有一种post请求

4,多加一些小功能,比如端口扫描,页面欺骗,和反弹shell文件下载等等

未来方向:其实xss框架这方面在市面上好像一种没有什么人关注,可能利用的价值不是很大?

1, 希望整合漏洞扫描 ,先编写一些常见漏洞扫描的python和js版本练练手,特别是在xss控制了很多浏览器的时候就相当于一个分布式的扫描器啊,当然任务调度方面要做好也是很不容易。

2,浏览器溢出,其实先把autopwn集成过来是一个不错的选择,这方面坑实在是太大,毕竟这方面我还是小白,先补一补汇编语言和操作系统,然后再来溢出这边试试水吧。beef中有一个跨协议漏洞利用真的是很神乎其技。

xss框架的一些想法的更多相关文章

  1. xss框架(二)基础框架实现

    简述 自上一篇博客介绍浏览器通信以来已经过去将近两个月了,兜兜转转挖了不少坑,也走了很多弯路.期间研究saml2.0和单点登录等技术都最后无疾而终. 只有xss框架这部分坚持了下来,这个框架还有很多事 ...

  2. xss框架基础框架实现

    0x00web服务器设计 (1)tornado处理请求和Application类要编写一个Tornado应用中最多的工作是定义类继承Tornado的RequestHandler类,主要用于将特定的ur ...

  3. 关于Java的一些NIO框架的一点想法

    闲着有点无聊想写点东西. 问题:生活中工作中,会有人问我javaNIO框架里面 Netty Mina  xSocket Grizzly 等等哪个比较好? 在这里写一下自己的感受,也算是总结一下吧 在我 ...

  4. 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具

      2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具, ...

  5. 转:2014 年 15 款新评定的最佳 PHP 框架

    原文来自于:http://blog.jobbole.com/59999/ 原文出处: codegeekz   译文出处:oschina   欢迎分享原创到伯乐头条 通常,框架都会被认为是帮助开发者快速 ...

  6. 2014年15款新评定的最佳PHP框架

    通常,框架都会被认为是帮助开发者快速设计和开发动态网站的软件应用.每个月都有极大数量的新发布的 PHP 框架,使网站开发更简单更高效. 如果你是位 PHP 开发者,正在寻找当前最好的一些 PHP 框架 ...

  7. 凉鞋:我所理解的框架 【Unity 游戏框架搭建】

    前言 架构和框架这些概念听起来很遥远,让很多初学者不明觉厉.会产生"等自己技术牛逼了再去做架构或者搭建框架"这样的想法.在这里笔者可以很肯定地告诉大家,初学者是完全可以去做这些事情 ...

  8. XSS语义分析的阶段性总结(二)

    本文首发于“合天智汇”微信公众号,作者:Kale 前言 上次分享了javascript语义分析,并且简单介绍了新型xss扫描器的一些想法,如何在不进行大量fuzz的情况下又能准确的检测出xss漏洞,这 ...

  9. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

随机推荐

  1. CentOS下使用NVM

    查看CentOS版本 # rpm -q centos-release centos-release-6-8.el6.centos.12.3.x86_64 安装epel源 32位系统选择: rpm -i ...

  2. 回溯法、数独与N阶可达问题

    回溯法是剪了枝的穷举,这是字面上的说法,不太好理解,不如讲解实例来的酸爽,于是引出了N阶可达问题: 有N个国家,每个国家有若干城市,小明要从中国(任意一个城市)出发,遍历所有国家(假设这个遍历顺序已经 ...

  3. 采用apicloud开发移动端项目心得体会

    作为第一批吃螃蟹的,来说一说apicloud做移动端项目的一些体会. 刚开始接到项目,需要移动端开发两个项目,公司人员里面没有一个会原生android或者ios开发的,目前能出的技术也就是web,后端 ...

  4. 第一百三十三节,JavaScript,封装库--弹出登录框

    JavaScript,封装库--弹出登录框 封装库,增加了两个方法 yuan_su_ju_zhong()方法,将获取到的区块元素居中到页面,chuang_kou_shi_jian()方法,浏览器窗口事 ...

  5. codevs1002搭桥(prim)

    题目描述: 这是道题题意有点迷(或者是我语文不好),但其实实际上求的就是图中连通块的个数,然后在连通块与连通块之间连边建图跑最小生成树.但是--这个图可能是不连通的--求桥的数量和总长 于是我立刻想到 ...

  6. 简单的HTML注册界面

    <html><head><title>我的第一个HTML页面</title></head><body><center> ...

  7. intellij idea 生成UUID

    Intellij IDEA 默认没启用这个功能 需要手动设置一下 , 下面是路径 Setting->Inspections->Serialization issues->Serial ...

  8. openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】

    还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服 ...

  9. apache bench(ab)压力测试模拟POSt请求

    ab命令格式: -N|--count 总请求数,缺省 : 5w -C|--clients 并发数, 缺省 : 100 -R|--rounds 测试次数, 缺省 : 10 次 -S|-sleeptime ...

  10. 【Python】使用super初始化超类

    初始化超类的传统方式,在子类的实例中调用超类的__init__()方法. 但是传统的方法有两个问题,比如: 问题1: class MyBaseClass: def __init__(self, val ...