当前位置: 首页 > 工具软件 > XSSer > 使用案例 >

XSS渗透与防御——(三)XSSER语法

金阳曜
2023-12-01

第三章 XSSER语法

Usage:

xsser [OPTIONS] [--all <url> |-u <url> |-i <file> |-d <dork> (options)|-l ] [-g <get> |-p <post> |-c <crawl> (options)]`
[Request(s)] [Checker(s)] [Vector(s)] [Anti-antiXSS/IDS] [Bypasser(s)] [Technique(s)] [Final Injection(s)] [Reporting] {Miscellaneous}`

跨站“Scripter”是一个自动框架,用于检测、利用和报告基于web的应用程序中的跨站漏洞。

选项:

  --version             #显示程序的版本号并退出
  -h, --help            #显示这个帮助信息并退出
  -s, --statistics      #显示高级统计输出结果
  -v, --verbose         #active verbose模式输出结果
  --gtk                 #启动XSSer GTK接口
  --wizard              #启动XSSer启动向导助手

特征:

您可以设置Vector(s)和Bypasser(s)来为嵌入的XSS代码构建复杂的脚本。 XST允许你发现目标是否容易被“跨站点跟踪”[CAPEC-107]:

--imx=IMX           #IMX -用XSS创建一个图像(——IMX image.png)  
--fla=FLASH         #FLA -用XSS创建一个flash影片(——FLA movie.swf)  
--xst=XST           #XST -跨站点跟踪(——XST http(s)://host.com)  

选择目标(或多个目标)

这些选项中至少有一个必须被指定来设置源来获取目标url:

--all=TARGET        #自动审计整个目标
-u URL, --url=URL   #输入要审计的目标
-i READFILE         #从文件中读取目标url
-d DORK             #使用查询搜索目标(例如:'news.php?id=')  
-l                  #从'dorks'列表中搜索
--De=DORK_ENGINE    #使用此搜索引擎(默认:DuckDuckGo)
--Da                #使用所有搜索引擎进行大规模搜索

选择HTTP/HTTPS连接类型

这些选项可用于指定我们希望使用哪些参数作为有效负载。 在你想要的地方设置“XSS”作为关键字注入:

-g GETDATA          #使用GET(例如:'/menu.php?id=XSS')发送payload
-p POSTDATA         #使用POST发送payload(ex: 'foo=1&bar=XSS')
-c CRAWLING         #在目标上爬行的url数:1-99999
--Cw=CRAWLER_WIDTH  #爬虫深度级别:1-5(默认为2)
--Cl                #只抓取本地目标url(默认值:FALSE)  

配置请求

这些选项可用于指定如何连接到目标payloads。 您可以选择多个:

--head              #在开始测试之前发送HEAD请求
--cookie=COOKIE     #改变你的HTTP Cookie头
--drop-cookie       #忽略响应中的Set-Cookie报头
--user-agent=AGENT  #更改您的HTTP用户代理报头(默认值:SPOOFED)  
--referer=REFERER   #使用另一个HTTP Referer头(默认:NONE)  
--xforw             #使用随机IP值设置HTTP X-Forwarded-For  
--xclient           #使用随机IP值设置HTTP X-Client-IP  
--headers=HEADERS   #额外的HTTP头换行分隔
--auth-type=ATYPE   #HTTP认证类型(Basic、Digest、GSS或NTLM)  
--auth-cred=ACRED   #HTTP身份验证凭据(名称:密码)  
--check-tor         #检查Tor是否被正确使用
--proxy=PROXY       #使用代理服务器(tor: http://localhost:8118)
--ignore-proxy      #忽略系统默认的HTTP代理
--timeout=TIMEOUT   #选择超时时间(默认值:30)
--retries=RETRIES   #连接超时时重试(默认值:1)
--threads=THREADS   #最大并发请求数(默认值:5)  
--delay=DELAY       #每个请求之间的延迟(默认值:0)  
--tcp-nodelay       #使用TCP NODELAY选项
--follow-redirects  #遵循服务器重定向(默认值:FALSE)
--follow-limit=FLI  #设置重定向请求的限制(默认值:50)  

检查系统

这些选项有助于了解你的目标是否正在使用过滤器对抗XSS攻击:

--hash              #发送一个散列来检查目标是否重复内容  
--heuristic         #发现使用启发式筛选的参数  
--discode=DISCODE   #设置reply上的代码以丢弃注入
--checkaturl=ALT    #检查回复使用:<替代url> [aka BLIND-XSS]  
--checkmethod=ALTM  #使用:GET或POST检查回复(默认值:GET)
--checkatdata=ALD   #使用:<替代有效负载>检查回复
--reverse-check     #建立从目标器到XSSer的反向连接  

选择向量(s)

这些选项可用于指定注入代码。 如果您不想注入默认情况下使用的公共XSS vector,这一点很重要。 只选择一个选项:

--payload=SCRIPT    OWN   - 注入自己的代码
--auto              AUTO  - 注入XSSer提供的向量列表

选择Payload(s):

这些选项可用于设置XSSer提供的向量列表。 如有需要,请选择:

--auto-set=FZZ_NUM  ASET  - 注入向量的限制(默认值:1293)
--auto-info         AINFO - 只选择带有INFO的vector(默认:FALSE)  
--auto-random       ARAND - 将random设置为order(默认值:FALSE)

Anti-antiXSS防火墙规则

这些选项可以用来尝试绕过特定的WAF/IDS产品和一些反xss浏览器过滤器。 如有需要,请选择:

--Phpids0.6.5       PHPIDS (0.6.5) [ALL]
--Phpids0.7         PHPIDS (0.7) [ALL]
--Imperva           Imperva Incapsula [ALL]
--Webknight         WebKnight (4.1) [Chrome]
--F5bigip           F5 Big IP [Chrome + FF + Opera]
--Barracuda         Barracuda WAF [ALL]
--Modsec            Mod-Security [ALL]
--Quickdefense      QuickDefense [Chrome]
--Sucuri            SucuriWAF [ALL]
--Firefox           Firefox 12 [& below]
--Chrome            Chrome 19 & Firefox 12 [& below]
--Opera             Opera 10.5 [& below]
--Iexplorer         IExplorer 9 & Firefox 12 [& below]

选择Bypasser(s):

这些选项可用于编码矢量,并尝试绕过可能的反xss滤波器。 它们可以与其他技术相结合:

--Str               Use method String.FromCharCode()
--Une               Use Unescape() function
--Mix               Mix String.FromCharCode() and Unescape()
--Dec               Use Decimal encoding
--Hex               Use Hexadecimal encoding
--Hes               Use Hexadecimal encoding with semicolons
--Dwo               Encode IP addresses with DWORD
--Doo               Encode IP addresses with Octal
--Cem=CEM           Set different 'Character Encoding Mutations'
                    (reversing obfuscators) (ex: 'Mix,Une,Str,Hex')

特殊技巧

这些选项可用于使用不同的XSS技术和模糊向量注入代码。 您可以选择多个:

--Coo               COO - 跨站点脚本Cookie注入
--Xsa               XSA - 跨站点代理脚本
--Xsr               XSR - 跨站点引用脚本
--Dcp               DCP - 数据控制协议注入
--Dom               DOM - 文档对象模型注入
--Ind               IND - HTTP Response Splitting Induced code

选择最终注入

这些选项可用于指定要注入脆弱目标的最终代码。 重要的是,如果你想“野外”利用发现的漏洞。 只选择一个选项:

--Fp=FINALPAYLOAD   OWN    - 利用自己的代码
--Fr=FINALREMOTE    REMOTE - 利用一个脚本 -remotely-

特殊最终注入

这些选项可以用来对脆弱的目标执行一些“特殊的”注入。 你可以选择多个,并将它们与你的最终代码(除了DCP利用):

--Anchor            ANC  - Use 'Anchor Stealth' payloader (DOM shadows!)
--B64               B64  - Base64 code encoding in META tag (rfc2397)
--Onm               ONM  - Use onMouseMove() event
--Ifr               IFR  - Use <iframe> source tag
--Dos               DOS  - XSS (client) Denial of Service
--Doss              DOSs - XSS (server) Denial of Service

报告

--save              #导出到文件(XSSreport.raw)
--xml=FILEXML       #导出到XML(--xml file.xml)

Miscellaneous:

--silent            #禁止控制台输出结果
--alive=ISALIVE     #在检查目标是否活着之前设置错误限制  
--update            #检查最新的稳定版本
 类似资料: