README 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. ================================================================
  2. Introduction:
  3. ==============================
  4. Cross Site "Scripter" is an automatic -framework- to detect, exploit and report XSS vulnerabilities in web-based applications.
  5. It contains several options to try to bypass certain filters, and various special techniques of code injection.
  6. ================================================================
  7. Options and features:
  8. ==============================
  9. xsser [OPTIONS] [--all <url> |-u <url> |-i <file> |-d <dork> (options)|-l ] [-g <get> |-p <post> |-c <crawl> (options)]
  10. [Request(s)] [Checker(s)] [Vector(s)] [Anti-antiXSS/IDS] [Bypasser(s)] [Technique(s)] [Final Injection(s)] [Reporting] {Miscellaneous}
  11. Cross Site "Scripter" is an automatic -framework- to detect, exploit and
  12. report XSS vulnerabilities in web-based applications.
  13. Options:
  14. --version show program's version number and exit
  15. -h, --help show this help message and exit
  16. -s, --statistics show advanced statistics output results
  17. -v, --verbose active verbose mode output results
  18. --gtk launch XSSer GTK Interface
  19. --wizard start Wizard Helper!
  20. *Special Features*:
  21. You can set Vector(s) and Bypasser(s) to build complex scripts for XSS
  22. code embedded. XST allows you to discover if target is vulnerable to
  23. 'Cross Site Tracing' [CAPEC-107]:
  24. --imx=IMX IMX - Create an image with XSS (--imx image.png)
  25. --fla=FLASH FLA - Create a flash movie with XSS (--fla movie.swf)
  26. --xst=XST XST - Cross Site Tracing (--xst http(s)://host.com)
  27. *Select Target(s)*:
  28. At least one of these options must to be specified to set the source
  29. to get target(s) urls from:
  30. --all=TARGET Automatically audit an entire target
  31. -u URL, --url=URL Enter target to audit
  32. -i READFILE Read target(s) urls from file
  33. -d DORK Search target(s) using a query (ex: 'news.php?id=')
  34. -l Search from a list of 'dorks'
  35. --De=DORK_ENGINE Use this search engine (default: yahoo)
  36. --Da Search massively using all search engines
  37. *Select type of HTTP/HTTPS Connection(s)*:
  38. These options can be used to specify which parameter(s) we want to use
  39. as payload(s). Set 'XSS' as keyword on the place(s) that you want to
  40. inject:
  41. -g GETDATA Send payload using GET (ex: '/menu.php?id=3&q=XSS')
  42. -p POSTDATA Send payload using POST (ex: 'foo=1&bar=XSS')
  43. -c CRAWLING Number of urls to crawl on target(s): 1-99999
  44. --Cw=CRAWLER_WIDTH Deeping level of crawler: 1-5 (default 3)
  45. --Cl Crawl only local target(s) urls (default TRUE)
  46. *Configure Request(s)*:
  47. These options can be used to specify how to connect to the target(s)
  48. payload(s). You can choose multiple:
  49. --cookie=COOKIE Change your HTTP Cookie header
  50. --drop-cookie Ignore Set-Cookie header from response
  51. --user-agent=AGENT Change your HTTP User-Agent header (default SPOOFED)
  52. --referer=REFERER Use another HTTP Referer header (default NONE)
  53. --xforw Set your HTTP X-Forwarded-For with random IP values
  54. --xclient Set your HTTP X-Client-IP with random IP values
  55. --headers=HEADERS Extra HTTP headers newline separated
  56. --auth-type=ATYPE HTTP Authentication type (Basic, Digest, GSS or NTLM)
  57. --auth-cred=ACRED HTTP Authentication credentials (name:password)
  58. --proxy=PROXY Use proxy server (tor: http://localhost:8118)
  59. --ignore-proxy Ignore system default HTTP proxy
  60. --timeout=TIMEOUT Select your timeout (default 30)
  61. --retries=RETRIES Retries when the connection timeouts (default 1)
  62. --threads=THREADS Maximum number of concurrent HTTP requests (default 5)
  63. --delay=DELAY Delay in seconds between each HTTP request (default 0)
  64. --tcp-nodelay Use the TCP_NODELAY option
  65. --follow-redirects Follow server redirection responses (302)
  66. --follow-limit=FLI Set limit for redirection requests (default 50)
  67. *Checker Systems*:
  68. These options are useful to know if your target is using filters
  69. against XSS attacks:
  70. --hash send a hash to check if target is repeating content
  71. --heuristic discover parameters filtered by using heuristics
  72. --discode=DISCODE set code on reply to discard an injection
  73. --checkaturl=ALT check reply using: alternative url -> Blind XSS
  74. --checkmethod=ALTM check reply using: GET or POST (default: GET)
  75. --checkatdata=ALD check reply using: alternative payload
  76. --reverse-check establish a reverse connection from target to XSSer to
  77. certify that is 100% vulnerable (recommended!)
  78. *Select Vector(s)*:
  79. These options can be used to specify injection(s) code. Important if
  80. you don't want to inject a common XSS vector used by default. Choose
  81. only one option:
  82. --payload=SCRIPT OWN - Inject your own code
  83. --auto AUTO - Inject a list of vectors provided by XSSer
  84. *Anti-antiXSS Firewall rules*:
  85. These options can be used to try to bypass specific WAF/IDS products.
  86. Choose only if required:
  87. --Phpids0.6.5 PHPIDS (0.6.5) [ALL]
  88. --Phpids0.7 PHPIDS (0.7) [ALL]
  89. --Imperva Imperva Incapsula [ALL]
  90. --Webknight WebKnight (4.1) [Chrome]
  91. --F5bigip F5 Big IP [Chrome + FF + Opera]
  92. --Barracuda Barracuda WAF [ALL]
  93. --Modsec Mod-Security [ALL]
  94. --Quickdefense QuickDefense [Chrome]
  95. *Select Bypasser(s)*:
  96. These options can be used to encode vector(s) and try to bypass
  97. possible anti-XSS filters. They can be combined with other techniques:
  98. --Str Use method String.FromCharCode()
  99. --Une Use Unescape() function
  100. --Mix Mix String.FromCharCode() and Unescape()
  101. --Dec Use Decimal encoding
  102. --Hex Use Hexadecimal encoding
  103. --Hes Use Hexadecimal encoding with semicolons
  104. --Dwo Encode IP addresses with DWORD
  105. --Doo Encode IP addresses with Octal
  106. --Cem=CEM Set different 'Character Encoding Mutations'
  107. (reversing obfuscators) (ex: 'Mix,Une,Str,Hex')
  108. *Special Technique(s)*:
  109. These options can be used to inject code using different XSS
  110. techniques. You can choose multiple:
  111. --Coo COO - Cross Site Scripting Cookie injection
  112. --Xsa XSA - Cross Site Agent Scripting
  113. --Xsr XSR - Cross Site Referer Scripting
  114. --Dcp DCP - Data Control Protocol injections
  115. --Dom DOM - Document Object Model injections
  116. --Ind IND - HTTP Response Splitting Induced code
  117. --Anchor ANC - Use Anchor Stealth payloader (DOM shadows!)
  118. *Select Final injection(s)*:
  119. These options can be used to specify the final code to inject on
  120. vulnerable target(s). Important if you want to exploit 'on-the-wild'
  121. the vulnerabilities found. Choose only one option:
  122. --Fp=FINALPAYLOAD OWN - Exploit your own code
  123. --Fr=FINALREMOTE REMOTE - Exploit a script -remotely-
  124. --Doss DOSs - XSS (server) Denial of Service
  125. --Dos DOS - XSS (client) Denial of Service
  126. --B64 B64 - Base64 code encoding in META tag (rfc2397)
  127. *Special Final injection(s)*:
  128. These options can be used to execute some 'special' injection(s) on
  129. vulnerable target(s). You can select multiple and combine them with
  130. your final code (except with DCP code):
  131. --Onm ONM - Use onMouseMove() event
  132. --Ifr IFR - Use <iframe> source tag
  133. *Reporting*:
  134. --save export to file (XSSreport.raw)
  135. --xml=FILEXML export to XML (--xml file.xml)
  136. *Miscellaneous*:
  137. --silent inhibit console output results
  138. --no-head NOT send a HEAD request before start a test
  139. --alive=ISALIVE set limit of errors before check if target is alive
  140. --update check for latest stable version