xss框架的一些想法
今天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框架的一些想法的更多相关文章
- xss框架(二)基础框架实现
简述 自上一篇博客介绍浏览器通信以来已经过去将近两个月了,兜兜转转挖了不少坑,也走了很多弯路.期间研究saml2.0和单点登录等技术都最后无疾而终. 只有xss框架这部分坚持了下来,这个框架还有很多事 ...
- xss框架基础框架实现
0x00web服务器设计 (1)tornado处理请求和Application类要编写一个Tornado应用中最多的工作是定义类继承Tornado的RequestHandler类,主要用于将特定的ur ...
- 关于Java的一些NIO框架的一点想法
闲着有点无聊想写点东西. 问题:生活中工作中,会有人问我javaNIO框架里面 Netty Mina xSocket Grizzly 等等哪个比较好? 在这里写一下自己的感受,也算是总结一下吧 在我 ...
- 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具
2017年"程序媛和工程狮"绝对不能忽视的编程语言.框架和工具 在过去的一年里,软件开发行业继续大踏步地向前迈进.回顾 2016 年,我们看到了更多新兴的流行语言.框架和工具, ...
- 转:2014 年 15 款新评定的最佳 PHP 框架
原文来自于:http://blog.jobbole.com/59999/ 原文出处: codegeekz 译文出处:oschina 欢迎分享原创到伯乐头条 通常,框架都会被认为是帮助开发者快速 ...
- 2014年15款新评定的最佳PHP框架
通常,框架都会被认为是帮助开发者快速设计和开发动态网站的软件应用.每个月都有极大数量的新发布的 PHP 框架,使网站开发更简单更高效. 如果你是位 PHP 开发者,正在寻找当前最好的一些 PHP 框架 ...
- 凉鞋:我所理解的框架 【Unity 游戏框架搭建】
前言 架构和框架这些概念听起来很遥远,让很多初学者不明觉厉.会产生"等自己技术牛逼了再去做架构或者搭建框架"这样的想法.在这里笔者可以很肯定地告诉大家,初学者是完全可以去做这些事情 ...
- XSS语义分析的阶段性总结(二)
本文首发于“合天智汇”微信公众号,作者:Kale 前言 上次分享了javascript语义分析,并且简单介绍了新型xss扫描器的一些想法,如何在不进行大量fuzz的情况下又能准确的检测出xss漏洞,这 ...
- MVC CodeFirst简单的创建数据库(非常详细的步骤)
最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...
随机推荐
- [ios2]ios RSA
http://blog.iamzsx.me/show.html?id=155002 http://www.theosoft.net/ http://blog.sina.com.cn/s/blog_5f ...
- HTTP could not register URL http://+:86/. 设置VS默认以管理员权限打开
在使用visual studio 2013启动self host webapi时候碰到下面的错误: 详细错误信息如下: HTTP could not register URL http://+:8 ...
- C# 关于委托的小例子
本例子是一个关于委托的小例子[猫叫,狗跳,人喊]. 委托是C#开发中一个非常重要的概念,理解起来也和常规的方法不同,但一旦理解清楚,就可以信手拈来,随处可用. 委托是对方法的抽象.它存储的就是一系列具 ...
- java编程思想笔记(一)——面向对象导论
1.1 抽象过程 1.所有编程语言都提供抽象编程机制. 2.人们所能够解决的问题的复杂性直接取决于抽象的类型(所抽象的是什么)和质量. 3."命令式"语言(basic,c等)都是对 ...
- hdu1038
#include <stdio.h> #define P 3.1415927 #define toFeet(x) x/12.0 #define toMiles(x) x/5280.0 in ...
- CentOS部署yum本地源和共享
约定yum本地源的机器IP为192.168.1.100,需要访问共享源的IP为192.168.1.101 关闭并禁止selinux和firewalld 创建本地源 1.上传centos7光盘镜像到指定 ...
- 本地win7 把数组写入 txt 文本日志 json_encode转换中文,需要加上JSON_UNESCAPED_UNICODE 不适用unicode --仅仅支持php5.4以后
json_encode 改进 为 json_encode_ex function json_encode_ex($value){ if (version_compare(PHP_VERSION, '5 ...
- CSU 1811 Tree Intersection
莫队算法,$dfs$序. 题目要求计算将每一条边删除之后分成的两棵树的颜色的交集中元素个数. 例如删除$u->v$,我们只需知道以$v$为$root$的子树中有多少种不同的颜色(记为$qq$), ...
- re模块 | Python 3.5
https://docs.python.org/3/library/re.html http://www.cnblogs.com/PythonHome/archive/2011/11/19/22554 ...
- iOS缓存
存储缓存: 第三方应用只能把信息保存在应用程序的沙盒中.因为缓存数据不是用户产生的,所以它应该被保存在NSCachesDirectory,而不是NSDocumentsDirectory.为缓存数据创建 ...