今天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. Kattis - Peragrams

    Peragrams Photo by Ross Beresford Per recently learned about palindromes. Now he wants to tell us ab ...

  2. Transform.TransformDirection 变换方向

    官方描述: JavaScript ⇒ TransformDirection(direction: Vector3): Vector3; C# ⇒ Vector3 TransformDirection( ...

  3. 想要见识外太空?一款VR头显就能帮你实现梦想

    除了宇航员,我们中的大多数人一生都没有机会前往地球之外的宇宙空间,只能在图片和纪录片中感受浩瀚宇宙的震撼. 美国肯尼迪航天中心和BrandVR合作推出的VR头显 而NASA在VR中的投资,创造的新的V ...

  4. mysql数据一致性检查及修复

    percona-toolkit-2.2.20-1.noarchmysql 5.6.29-logmaster:192.168.166.129slave:192.168.166.131 一.创建数据库校验 ...

  5. 最近用到mysql和mybatis结合常用的知识点坐下整理

    1.当用到集合in(x,x...)参数可以单个或者多个 ,当为单个时: findbyIds(List<Long> ids),或者findByids(Long [] ids)  <se ...

  6. js字符串操作

    javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是 ...

  7. 数据库索引的实现原理(笔记)详细http://www.linezing.com/blog/?p=798#nav-1

    数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询.更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某 ...

  8. USACO 3.2 Stringsobits

    StringsobitsKim Schrijvers Consider an ordered set S of strings of N (1 <= N <= 31) bits. Bits ...

  9. 第一百一十六节,JavaScript,DOM操作样式

    JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...

  10. C++类的实例化的两种方法

    C++ 类的实例化有两种方法: 直接定义对象: 先定义一个类:   class A { public: A(); virtual ~A(); ... ... };   类实现略. 用的时候: A a; ...