XSpear 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5509ad9faf3e3689008c91b536685ecf6d381cacf3382ab93387273b3da5537
4
- data.tar.gz: '09badc210487ad6720523817cd512c3757dcb898d33526e9fa8559807e376f21'
3
+ metadata.gz: afb284c2c76350733a45156127bde1e8fd996a6aabf985b3eef8a1b43e8147a7
4
+ data.tar.gz: f4411c5bdfb84d3ad32a87f34e1ffcd98a7ead48761b07134fcc82f5ded53f5b
5
5
  SHA512:
6
- metadata.gz: 1b517090b2b2295599a4889e3fba362c84ef9bb048bf3f947e1b0c4661aa3f7d142c37b3156bcd74e57ecdcc76671a3c879f5f0a11bd5aef4cdc90f5ce1bb475
7
- data.tar.gz: a39bcd1f637368502cc84deb85d5934f7979de5ed1cada889c9ee6b2ead14dcfc001f0475c6a4178d6e84f23d8052684d9cf668fbeb5fd4a82887efcec032cf5
6
+ metadata.gz: e031af8d10adfcdb511df45e0e9a34c19df1fdcbfc4bdcaf9179c584f25cf66df9d805204b85a8ef3c108495fa663c6e78dcc861549532d48556b867c9e5f65e
7
+ data.tar.gz: 9dcd8c46a718c459ab7d2b8ebc8a8e4e9181a51d7d0c1c4280219bd3502caa16ea48cbfeb6a3ca02a6fc21d226606801a704ba77824d89bcd07150c3833d3cd8
data/.idea/workspace.xml CHANGED
@@ -3,7 +3,6 @@
3
3
  <component name="ChangeListManager">
4
4
  <list default="true" id="4ee2e581-45d7-4c90-b6a1-e92e4b5829dd" name="Default Changelist" comment="">
5
5
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
- <change beforePath="$PROJECT_DIR$/lib/XSpear.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/XSpear.rb" afterDir="false" />
7
6
  <change beforePath="$PROJECT_DIR$/lib/XSpear/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/XSpear/version.rb" afterDir="false" />
8
7
  </list>
9
8
  <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -30,8 +29,8 @@
30
29
  <entry file="file://$PROJECT_DIR$/README.md">
31
30
  <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
32
31
  <state split_layout="SPLIT">
33
- <first_editor relative-caret-position="6525">
34
- <caret line="435" column="38" selection-start-line="435" selection-start-column="38" selection-end-line="435" selection-end-column="38" />
32
+ <first_editor relative-caret-position="6840">
33
+ <caret line="456" column="38" selection-start-line="456" selection-start-column="38" selection-end-line="456" selection-end-column="38" />
35
34
  </first_editor>
36
35
  <second_editor />
37
36
  </state>
@@ -47,11 +46,11 @@
47
46
  </provider>
48
47
  </entry>
49
48
  </file>
50
- <file pinned="false" current-in-tab="true">
49
+ <file pinned="false" current-in-tab="false">
51
50
  <entry file="file://$PROJECT_DIR$/lib/XSpear.rb">
52
51
  <provider selected="true" editor-type-id="text-editor">
53
- <state relative-caret-position="230">
54
- <caret line="651" column="13" lean-forward="true" selection-start-line="651" selection-start-column="13" selection-end-line="651" selection-end-column="13" />
52
+ <state relative-caret-position="316">
53
+ <caret line="539" column="443" selection-start-line="539" selection-start-column="443" selection-end-line="539" selection-end-column="443" />
55
54
  </state>
56
55
  </provider>
57
56
  </entry>
@@ -70,7 +69,7 @@
70
69
  </provider>
71
70
  </entry>
72
71
  </file>
73
- <file pinned="false" current-in-tab="false">
72
+ <file pinned="false" current-in-tab="true">
74
73
  <entry file="file://$PROJECT_DIR$/lib/XSpear/version.rb">
75
74
  <provider selected="true" editor-type-id="text-editor">
76
75
  <state relative-caret-position="15">
@@ -163,7 +162,6 @@
163
162
  <foldersAlwaysOnTop value="true" />
164
163
  </navigator>
165
164
  <panes>
166
- <pane id="Scope" />
167
165
  <pane id="ProjectPane">
168
166
  <subPane>
169
167
  <expand>
@@ -201,6 +199,7 @@
201
199
  <select />
202
200
  </subPane>
203
201
  </pane>
202
+ <pane id="Scope" />
204
203
  </panes>
205
204
  </component>
206
205
  <component name="PropertiesComponent">
@@ -266,35 +265,8 @@
266
265
  <workItem from="1574090247432" duration="1799000" />
267
266
  <workItem from="1577115206395" duration="21990000" />
268
267
  <workItem from="1580314696983" duration="286000" />
269
- <workItem from="1580583824837" duration="966000" />
270
- </task>
271
- <task id="LOCAL-00026" summary="verbose가 1일 떄 배너 출력되지 않도록 수정">
272
- <created>1563649920055</created>
273
- <option name="number" value="00026" />
274
- <option name="presentableId" value="LOCAL-00026" />
275
- <option name="project" value="LOCAL" />
276
- <updated>1563649920055</updated>
277
- </task>
278
- <task id="LOCAL-00027" summary="verbose가 1일 떄 배너 출력되지 않도록 수정">
279
- <created>1563649975625</created>
280
- <option name="number" value="00027" />
281
- <option name="presentableId" value="LOCAL-00027" />
282
- <option name="project" value="LOCAL" />
283
- <updated>1563649975625</updated>
284
- </task>
285
- <task id="LOCAL-00028" summary="(1.0.5) Add blind XSS options &amp; edit &quot;filtered Rule testing code&quot;">
286
- <created>1563813695850</created>
287
- <option name="number" value="00028" />
288
- <option name="presentableId" value="LOCAL-00028" />
289
- <option name="project" value="LOCAL" />
290
- <updated>1563813695850</updated>
291
- </task>
292
- <task id="LOCAL-00029" summary="(1.0.5) Update README.md">
293
- <created>1563814201784</created>
294
- <option name="number" value="00029" />
295
- <option name="presentableId" value="LOCAL-00029" />
296
- <option name="project" value="LOCAL" />
297
- <updated>1563814201784</updated>
268
+ <workItem from="1580583824837" duration="1470000" />
269
+ <workItem from="1581089876742" duration="268000" />
298
270
  </task>
299
271
  <task id="LOCAL-00030" summary="(1.0.6)[fixed #6] Edit Static Analysis code">
300
272
  <created>1563893769120</created>
@@ -611,11 +583,39 @@
611
583
  <option name="project" value="LOCAL" />
612
584
  <updated>1577632578176</updated>
613
585
  </task>
614
- <option name="localTasksCounter" value="75" />
586
+ <task id="LOCAL-00075" summary="(Fixed #45 , #47) ruby 2.7.0 troubleshooting(URI)">
587
+ <created>1580585220585</created>
588
+ <option name="number" value="00075" />
589
+ <option name="presentableId" value="LOCAL-00075" />
590
+ <option name="project" value="LOCAL" />
591
+ <updated>1580585220586</updated>
592
+ </task>
593
+ <task id="LOCAL-00076" summary="Released 1.3.2">
594
+ <created>1580585376006</created>
595
+ <option name="number" value="00076" />
596
+ <option name="presentableId" value="LOCAL-00076" />
597
+ <option name="project" value="LOCAL" />
598
+ <updated>1580585376006</updated>
599
+ </task>
600
+ <task id="LOCAL-00077" summary="(Fixed #49) Add onpointerrawupdate event handler for xss">
601
+ <created>1581089940822</created>
602
+ <option name="number" value="00077" />
603
+ <option name="presentableId" value="LOCAL-00077" />
604
+ <option name="project" value="LOCAL" />
605
+ <updated>1581089940823</updated>
606
+ </task>
607
+ <task id="LOCAL-00078" summary="(Fixed #50) Add SVG Animate XSS Payload">
608
+ <created>1581090128596</created>
609
+ <option name="number" value="00078" />
610
+ <option name="presentableId" value="LOCAL-00078" />
611
+ <option name="project" value="LOCAL" />
612
+ <updated>1581090128596</updated>
613
+ </task>
614
+ <option name="localTasksCounter" value="79" />
615
615
  <servers />
616
616
  </component>
617
617
  <component name="TimeTrackingManager">
618
- <option name="totallyTimeSpent" value="75285000" />
618
+ <option name="totallyTimeSpent" value="76057000" />
619
619
  </component>
620
620
  <component name="TodoView">
621
621
  <todo-panel id="selected-file">
@@ -630,7 +630,7 @@
630
630
  <frame x="-1920" y="-620" width="1920" height="1057" extended-state="0" />
631
631
  <editor active="true" />
632
632
  <layout>
633
- <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.13578275" />
633
+ <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.1368477" />
634
634
  <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
635
635
  <window_info id="Favorites" order="2" side_tool="true" />
636
636
  <window_info anchor="bottom" id="Message" order="0" />
@@ -656,10 +656,6 @@
656
656
  <option name="version" value="1" />
657
657
  </component>
658
658
  <component name="VcsManagerConfiguration">
659
- <MESSAGE value="(1.1.0) [Fixed #14] Edit raw query print code" />
660
- <MESSAGE value="(1.1.0) [Fixed #15] makeQueryPattern 내 페이로드 생성 코드 수정" />
661
- <MESSAGE value="(1.1.0) Releases 1.1.0 / Fixed bug, modify report format, etc.." />
662
- <MESSAGE value="(1.1.1) Add WAF Found module frame..(TO_DO)" />
663
659
  <MESSAGE value="(1.1.1) Add code level function &amp; Check WAF code frame" />
664
660
  <MESSAGE value="(1.1.2) Releases &amp; Fixed #17 (Add some event handlers..)" />
665
661
  <MESSAGE value="(1.1.3) Releases &amp; Fixed #18 (Add onload* event handler)" />
@@ -681,7 +677,11 @@
681
677
  <MESSAGE value="(1.3) Released 1.3.0 +_+" />
682
678
  <MESSAGE value="(1.3) Fixed dependency bug" />
683
679
  <MESSAGE value="XSpear on Burpsuite" />
684
- <option name="LAST_COMMIT_MESSAGE" value="XSpear on Burpsuite" />
680
+ <MESSAGE value="(Fixed #45 , #47) ruby 2.7.0 troubleshooting(URI)" />
681
+ <MESSAGE value="Released 1.3.2" />
682
+ <MESSAGE value="(Fixed #49) Add onpointerrawupdate event handler for xss" />
683
+ <MESSAGE value="(Fixed #50) Add SVG Animate XSS Payload" />
684
+ <option name="LAST_COMMIT_MESSAGE" value="(Fixed #50) Add SVG Animate XSS Payload" />
685
685
  </component>
686
686
  <component name="editorHistoryManager">
687
687
  <entry file="file://$USER_HOME$/.rvm/gems/ruby-2.4.6/gems/bundler-2.0.1/lib/bundler/rubygems_integration.rb">
@@ -751,8 +751,8 @@
751
751
  <entry file="file://$PROJECT_DIR$/README.md">
752
752
  <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
753
753
  <state split_layout="SPLIT">
754
- <first_editor relative-caret-position="6525">
755
- <caret line="435" column="38" selection-start-line="435" selection-start-column="38" selection-end-line="435" selection-end-column="38" />
754
+ <first_editor relative-caret-position="6840">
755
+ <caret line="456" column="38" selection-start-line="456" selection-start-column="38" selection-end-line="456" selection-end-column="38" />
756
756
  </first_editor>
757
757
  <second_editor />
758
758
  </state>
@@ -799,17 +799,17 @@
799
799
  </state>
800
800
  </provider>
801
801
  </entry>
802
- <entry file="file://$PROJECT_DIR$/lib/XSpear/version.rb">
802
+ <entry file="file://$PROJECT_DIR$/lib/XSpear.rb">
803
803
  <provider selected="true" editor-type-id="text-editor">
804
- <state relative-caret-position="15">
805
- <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
804
+ <state relative-caret-position="316">
805
+ <caret line="539" column="443" selection-start-line="539" selection-start-column="443" selection-end-line="539" selection-end-column="443" />
806
806
  </state>
807
807
  </provider>
808
808
  </entry>
809
- <entry file="file://$PROJECT_DIR$/lib/XSpear.rb">
809
+ <entry file="file://$PROJECT_DIR$/lib/XSpear/version.rb">
810
810
  <provider selected="true" editor-type-id="text-editor">
811
- <state relative-caret-position="230">
812
- <caret line="651" column="13" lean-forward="true" selection-start-line="651" selection-start-column="13" selection-end-line="651" selection-end-column="13" />
811
+ <state relative-caret-position="15">
812
+ <caret line="1" column="18" selection-start-line="1" selection-start-column="18" selection-end-line="1" selection-end-column="18" />
813
813
  </state>
814
814
  </provider>
815
815
  </entry>
data/README.md CHANGED
@@ -3,7 +3,28 @@
3
3
  # XSpear
4
4
  XSpear is XSS Scanner on ruby gems
5
5
 
6
- <img src="https://img.shields.io/static/v1.svg?label=lang&message=ruby&color=RED"> <img src="https://img.shields.io/gem/v/XSpear.svg"> <img src="https://img.shields.io/gem/dt/XSpear.svg"> <img src="https://img.shields.io/github/license/hahwul/XSpear.svg"> <a href="https://twitter.com/intent/follow?screen_name=hahwul"><img src="https://img.shields.io/static/v1.svg?label=follow&message=hahwul&color=black"></a>
6
+ <img src="https://img.shields.io/github/languages/top/hahwul/xspear?color=red"> <img src="https://img.shields.io/gem/v/XSpear.svg"> <img src="https://img.shields.io/gem/dt/XSpear.svg"> <img src="https://img.shields.io/librariesio/sourcerank/rubygems/Xspear"> <img src="https://img.shields.io/github/license/hahwul/XSpear.svg"> <a href="https://twitter.com/intent/follow?screen_name=hahwul"><img src="https://img.shields.io/twitter/follow/hahwul?style=flat-square"></a>
7
+
8
+ ## TOC
9
+ - [XSpear](#xspear)
10
+ * [Key features](#key-features)
11
+ * [Installation](#installation)
12
+ + [Dependency gems](#dependency-gems)
13
+ * [Usage on cli](#usage-on-cli)
14
+ + [Result types](#result-types)
15
+ + [Verbose Mode](#verbose-mode)
16
+ + [Case by Case](#case-by-case)
17
+ + [Sample log](#sample-log)
18
+ * [Usage on ruby code](#usage-on-ruby-code)
19
+ * [Add Scanning Module](#add-scanning-module)
20
+ * [Update](#update)
21
+ * [Development](#development)
22
+ * [Contributing](#contributing)
23
+ * [Donate](#donate)
24
+ * [License](#license)
25
+ * [Code of Conduct](#code-of-conduct)
26
+ * [ScreenShot](#screenshot)
27
+ * [Video](#video)
7
28
 
8
29
  ## Key features
9
30
  - Pattern matching based XSS scanning
@@ -53,7 +74,7 @@ And then execute:
53
74
  $ bundle
54
75
 
55
76
  ### Dependency gems
56
- `colorize` `selenium-webdriver` `terminal-table`<br>
77
+ `colorize` `selenium-webdriver` `terminal-table` `progress_bar`<br>
57
78
  If you configured it to install automatically in the Gem library, but it behaves abnormally, install it with the following command.
58
79
 
59
80
  ```
@@ -394,7 +415,7 @@ $ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123&zfdfasdf=124fff
394
415
  {"starttime":"2019-08-14 23:58:12 +0900","endtime":"2019-08-14 23:58:44 +0900","issue_count":24,"issue_list":[{"id":0,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Found Server: nginx/1.4.1"},{"id":1,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not set HSTS"},{"id":2,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Content-Type: text/html"},{"id":3,"type":"LOW","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not Set X-Frame-Options"},{"id":4,"type":"MIDUM","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not Set CSP"},{"id":5,"type":"INFO","issue":"DYNAMIC ANALYSIS","method":"GET","param":"cat","payload":"XsPeaR\"","description":"Found SQL Error Pattern"},{"id":6,"type":"INFO","issue":"REFLECTED","method":"GET","param":"cat","payload":"rEfe6","description":"reflected parameter"},{"id":7,"type":"INFO","issue":"FILERD RULE","method":"GET","param":"cat","payload":"onhwul=64","description":"not filtered event handler on{any} pattern"},{"id":8,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<script>alert(45)</script>","description":"reflected XSS Code"},{"id":9,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<textarea autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":10,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<video/poster/onerror=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":11,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<audio src onloadstart=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":12,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<details/open/ontoggle=\"alert`45`\">","description":"reflected HTML5 XSS Code"},{"id":13,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<select autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":14,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<marquee onstart=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":15,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<input autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":16,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"\"><iframe/src=JavaScriPt:alert(45)>","description":"reflected XSS Code"},{"id":17,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<meter onmouseover=alert(45)>0</meter>","description":"reflected HTML5 XSS Code"},{"id":18,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<keygen autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":19,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<audio src onloadstart=alert(45)>","description":"triggered <audio src onloadstart=alert(45)>"},{"id":20,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<marquee onstart=alert(45)>","description":"triggered <marquee onstart=alert(45)>"},{"id":21,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<details/open/ontoggle=\"alert(45)\">","description":"triggered <details/open/ontoggle=\"alert(45)\">"},{"id":22,"type":"VULN","issue":"XSS","method":"GET","param":"cat","payload":"<script>alert(45)</script>","description":"triggered <script>alert(45)</script>"},{"id":23,"type":"VULN","issue":"XSS","method":"GET","param":"cat","payload":"'\"><svg/onload=alert(45)>","description":"triggered <svg/onload=alert(45)>"}]}
395
416
  ```
396
417
 
397
- ## Usage on ruby code (gem library)
418
+ ## Usage on ruby code
398
419
  ```ruby
399
420
  require 'XSPear'
400
421
 
@@ -479,6 +500,9 @@ if develpers (hard)
479
500
  $ git reset --hard HEAD; git pull -v
480
501
  ```
481
502
 
503
+ ## RubyDoc
504
+ https://www.rubydoc.info/gems/XSpear/
505
+
482
506
  ## Development
483
507
 
484
508
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/XSpear-1.3.2.gem ADDED
Binary file
@@ -1,3 +1,3 @@
1
1
  module XSpear
2
- VERSION = "1.3.2"
2
+ VERSION = "1.3.3"
3
3
  end
data/lib/XSpear.rb CHANGED
@@ -392,7 +392,8 @@ class XspearScan
392
392
  'onvolumechange',
393
393
  'onwaiting',
394
394
  'onwheel',
395
- 'whatthe=""onload'
395
+ 'whatthe=""onload',
396
+ 'onpointerrawupdate'
396
397
  ]
397
398
  tags = [
398
399
  "script",
@@ -536,6 +537,7 @@ class XspearScan
536
537
  r.push makeQueryPattern('x', '"\'><audio src onloadstart=alert(45)>', '<audio src onloadstart=alert(45)>', 'h', "reflected "+"HTML5 XSS Code".red, CallbackStringMatch)
537
538
  r.push makeQueryPattern('x', '"\'><marquee onstart=alert(45)>', '<marquee onstart=alert(45)>', 'h', "reflected "+"HTML5 XSS Code".red, CallbackStringMatch)
538
539
  r.push makeQueryPattern('x', '"\'><meter onmouseover=alert(45)>0</meter>', '<meter onmouseover=alert(45)>0</meter>', 'h', "reflected "+"HTML5 XSS Code".red, CallbackStringMatch)
540
+ r.push makeQueryPattern('x', '"\'><svg><animate xlink:href=#xss attributeName=href dur=5s repeatCount=indefinite keytimes=0;0;1 values="https://portswigger.net?&semi;javascript:alert(1)&semi;0" /><a id=xss><text x=20 y=20>XSS</text></a>', '<svg><animate xlink:href=#xss attributeName=href dur=5s repeatCount=indefinite keytimes=0;0;1 values="https://portswigger.net?&semi;javascript:alert(1)&semi;0" />', 'h', "reflected "+"SVG Animate XSS".red, CallbackStringMatch)
539
541
 
540
542
 
541
543
  onfocus_tags.each do |t|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: XSpear
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - hahwul
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-01 00:00:00.000000000 Z
11
+ date: 2020-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -186,7 +186,7 @@ files:
186
186
  - LICENSE.txt
187
187
  - README.md
188
188
  - Rakefile
189
- - XSpear-1.3.1.gem
189
+ - XSpear-1.3.2.gem
190
190
  - XSpear.gemspec
191
191
  - bin/console
192
192
  - bin/setup
data/XSpear-1.3.1.gem DELETED
Binary file