XssEncode
0x00 闲扯
好吧继上一篇文章之后,就没发文章了!(其实是一直在写但是写的很少还凑不起一篇文章而已)
但是这几天对插件进行了一定的改良了 因为在自己在实际的XSS过程中也发现了自己的插件 还不够强大!
不能够百分之百的满足自己的需求!所以就根据自己平常的需求给加了上去!
我想做到玩XSS一个工具即可解决需求!所以感觉即使是现在的插件也还有很大的不足!
所以很希望得到你们的意见 东凑一块 西凑一块写成一个真正的一个插件解决需求!
(现在想给hook生成功能块加一个 是否自动把hook转换成短链接!但是。。。在技术上有点问题)
另外还有什么其他的功能 或者一些比较猥琐的小技巧 希望大家提出来 我加上。。。
比如在chrome里隐藏payload 。。。我一直在想如何才能构造一段被chrome认为是无效的字符。。并且还能够执行!
0x01 界面以及功能介绍
兼容性没做所以在不同的分辨率下会乱码。。。这个不会做
分辨率:1280 X 800 (求教)
编码
请把需要编码的字符放在左边的输入框内 Encode / Decode
然后点击中间上方的Encode按钮 选择你要编码的类型 然后点击相应的按钮即可!
经过相应编码后的内容便会在右边的Output框中!
新功能介绍
进制编码常规变异:
进制编码包括:
html编码的十进制编码
html编码的十六进制编码
javascript的十六进制编码
javascript的八进制编码
进制编码常规变异的功能:
会给编码前面的数字多加7个0,因为IE对进制编码加0,只识别到八个0,多了的话就认为这不是个有效的值了!
也有很多程序过滤规则也是这样写的!他们会把你变异了的值给解析回来,然后再判断是不是危险字符!
适用场景:
当进制编码被解析回来,再次过滤了的时候,比如 < 在过滤程序中被还原回来再次过滤了!
但是<没有在过滤程序中被还原回来,但是在页面中被浏览器被解析还原了,那么就可以用进制编码的常规变异!
进制编码非常规变异:
进制编码非常规变异功能:
会给编码的数字前面多加10个0!原因同上!
适用场景:
当进制编码被解析回来,再次过滤了的时候,比如 < 或者 <都被还原回来,再次过滤的话,那么便可以用非常规变异!
IE识别到8个0 可是chrome能识别到更多的0!很多过滤程序都是根据IE的8个0来写的!所以更多的0 也是一种绕过方式!
使用心得:以上的功能都是自己亲身经历到的 当时是某GOV的站 在这里贴出payload吧 以及笔记
search?str=xxxx%3Ca%20href=%22data:text/html;%26%230000000000000000098ase64%26%230000000000000044%20PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==%22%3Etest%3C/a%3E
缺陷参数:str
过滤规则够BT 但是同样能绕!
会把提交的编码 给解码 然后再插入到网页中!然后再对网页内的值进行检查 过滤!
base64 --> %26%230000000000000000098ase64
首先%26%23会被还原成 &# 于是变成了: b 于是被还原成:b
b插入到页面 再检查 b+ase64 = base64 满足规则 于是又过滤成 base64 绕过失败!
但是如果b的html十进制编码 再多加几个000 便不会被他给解码 但是在浏览器中又会被解码 于是便可以这样绕过!
html编码去分号:
(此选项可配合其他选项一起使用 比如进行html编码时 勾选常规变异 + 去html编码分号)
ps:小伙伴们勿淘气别选了 常规变异 又勾选非常规变异。。。 那你到底是要闹哪样!
还有勾选编码时 也勾选了 hook生成的话 那么我不知道你要闹那样。。
如果要对生成的钩子进行编码的话 那么就弄两次吧 一次:生成 复制 ,二次: 粘贴 编码!
使用场景:
html实体编码的分号在大部分情况下都是可以去掉的 能减少输入字符!我有强迫症。。
我一般选择html实体编码的时候 都会必勾选!
&#URL编码:
这个对我来说真的是经常用到!比如在测试反射型XSS 以及 DOM XSS时!
因为&#在url中都有特殊的含义 我们很多时候都是把他们当做一个html实体编码表示的方式而已!
可是浏览器不会这样认为,& 会被认为是参数的分隔符 比如一个url:
http://xssec.net/?x=1&c=2&d=4
如果我们在url上写&号是会被当成参数分隔符的 进行一下url编码就号了!
#号呢,就是location.hash获取的值以及什么的 所以这种字符还是url编码的好~
比如以下这个payload:
search.php?searchfield=xsser%c0\%22%20onfocus=%26%2397%26%23108%26%23101%26%23114%26%23116%26%2340%26%2347%26%2374%26%23105%26%23110%26%2347%26%2341%20autofocus//&imageField=%CB%D1%CB%F7
大家还原下编码就能看到原本的字符了!
Hook生成
基本介绍 :把你的钩子(hook)放入到左边的Encode里 然后勾选你要进行生成的hook类型!然后点后面的生成就好了!
每次请选择一种,别淘气 我没写太多的判断js。。。 精力有限!
下面贴几个演示吧:
在钩子生成方面做的不是特别好,也是自己经验不足的原因 大家有更猥琐的 加载钩子的payload 求pm加上去!
下载链接:
xss-encode_20131115121612.crx_.zip
联系方式:
mail:root@xssec.net
http://t.qq.com/Ox_Jin
XssEncode的更多相关文章
- js复杂对象和简单对象的简单转化
var course = { teacher :{ teacherId:001, teacherName:"王" }, course : { courseId : 120, cou ...
- wordpress优化之结合prism.js为编辑器自定义按钮转化代码
原文链接 http://ymblog.net/2016/07/24/wordpress-prism/ 继昨天花了一天一夜的时间匆匆写了主题Jiameil3.0之后,心中一直在想着优化加速,体验更好,插 ...
- Spring mvc @initBinder 类型转化器的使用
一.单日期格式 因为是用注解完完成的后台访问,所以必须在大配置中配置包扫描器: 1.applicactionContext.xml <?xml version="1.0" e ...
- 【.net 深呼吸】将目录树转化为文本
大伙都知道,文件系统是树形结构的,有时候我们会想到把目录的层次结构变为纯文本形式,就像这样: ├─Windows-universal-samples-master │ ├─Samples │ │ ├─ ...
- 开发node桌面级应用工具:apk转化epub
随着苹果ibooks对国内的开放,最近接了个麻烦的需求: 把现有的APK转化支持苹果ibooks电子书的epub格式 apk,基本都知道就是安卓的应用程序 epub,是ibooks支持的电子书格式 ( ...
- [LeetCode] Roman to Integer 罗马数字转化成整数
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- [LeetCode] Integer to Roman 整数转化成罗马数字
Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...
- C#定义类型转化 及 格式化字符串
operator 关键字 operator 关键字用来重载内置运算符,或提供类/结构声明中的用户定义转换.它可以定义不同类型之间采用何种转化方式和转化的结果. operator用于定义类型转化时可采用 ...
- JsonResult类设置返回json的长度(工作笔记 json转化出错)
public JsonResult PoundageReportSearch() { JsonResult jr = new JsonResult(); // 实例 ...
- MySQL隐式转化整理
MySQL隐式转化整理 前几天在微博上看到一篇文章:价值百万的 MySQL 的隐式类型转换感觉写的很不错,再加上自己之前也对MySQL的隐式转化这边并不是很清楚,所以就顺势整理了一下.希望对大家有所帮 ...
随机推荐
- 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY
https://blog.csdn.net/woshigedahaoren/article/details/9493887
- 解决Django在mariadb创建的表插入中文乱码的问题
1.确保你的mariadb数据库的character_set_connection.character_set_database.character_set_server的编码均为utf8 Maria ...
- Rsync+Inotify 搭建实时同步数据
1.安装软件包 # yum install inotify-tools # yum -y install rsync 2.同步机器相互添加信任 [root@host-10-0-100-106 ~]# ...
- BotFramework Nodejs示例
关于Bot Framework知识,可以参考<Nodejs Bot学习> 本文是根据bot framework sample<https://github.com/Microsoft ...
- 设计模式-迭代器模式(Iterator Pattern)
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 迭代器模式简介 迭代器相信大部分人都不陌生,java/c++等很多编程语言的容器类都支持迭代器操 ...
- 【BZOJ 1084】 1084: [SCOI2005]最大子矩阵 (DP)
1084: [SCOI2005]最大子矩阵 Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大.注意:选出的k个子矩阵不能相互重叠. Input 第 ...
- android 线程间通信
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 1,共享内存 变量 2,文件,数据库 3,处理器 消息机制 4, 线程 的 等待,通知 ...
- [Nescafé41]异化多肽(多项式求逆元)
2015年的题,应该是将形式幂级数引入国内的元老级题目. 大意:给定一个大小为m的正整数序列和n,问有多少种选法可以凑成n,每个数可以选多次,种类不同算不同方案.$n,m,C \leqslant 10 ...
- JZYZOJ1536 [haoi2014]走出金字塔
http://172.20.6.3/Problem_Show.asp?id=1536 确实不难,找规律的题,开始想复杂了,分了好多情况.开始为省几个变量加了一大堆max,min,abs代码一下子复杂太 ...
- 【贪心】AtCoder Regular Contest 079 E - Decrease (Judge ver.)
每次将最大的数减到n以下,如此循环直到符合题意. 复杂度大概是n*n*log?(?). #include<cstdio> #include<iostream> #include ...