pwn 0.5.352 → 0.5.354
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 +4 -4
- data/README.md +3 -3
- data/bin/pwn_fuzz_net_app_proto +4 -3
- data/bin/pwn_phone +2 -2
- data/bin/pwn_sast +1 -2
- data/bin/pwn_www_uri_buster +1 -2
- data/lib/pwn/plugins/burp_suite.rb +14 -17
- data/lib/pwn/plugins/git.rb +3 -3
- data/lib/pwn/plugins/sock.rb +2 -2
- data/lib/pwn/reports/fuzz.rb +41 -37
- data/lib/pwn/reports/phone.rb +50 -30
- data/lib/pwn/reports/sast.rb +19 -18
- data/lib/pwn/reports/uri_buster.rb +47 -30
- data/lib/pwn/sast/amqp_connect_as_guest.rb +2 -2
- data/lib/pwn/sast/apache_file_system_util_api.rb +2 -2
- data/lib/pwn/sast/aws.rb +2 -2
- data/lib/pwn/sast/banned_function_calls_c.rb +2 -2
- data/lib/pwn/sast/base64.rb +2 -2
- data/lib/pwn/sast/beef_hook.rb +2 -2
- data/lib/pwn/sast/cmd_execution_java.rb +2 -2
- data/lib/pwn/sast/cmd_execution_python.rb +2 -2
- data/lib/pwn/sast/cmd_execution_ruby.rb +2 -2
- data/lib/pwn/sast/cmd_execution_scala.rb +2 -2
- data/lib/pwn/sast/csrf.rb +2 -2
- data/lib/pwn/sast/deserial_java.rb +2 -2
- data/lib/pwn/sast/emoticon.rb +2 -2
- data/lib/pwn/sast/eval.rb +2 -2
- data/lib/pwn/sast/factory.rb +2 -2
- data/lib/pwn/sast/http_authorization_header.rb +2 -2
- data/lib/pwn/sast/inner_html.rb +2 -2
- data/lib/pwn/sast/keystore.rb +2 -2
- data/lib/pwn/sast/local_storage.rb +2 -2
- data/lib/pwn/sast/location_hash.rb +2 -2
- data/lib/pwn/sast/log4j.rb +2 -2
- data/lib/pwn/sast/logger.rb +2 -2
- data/lib/pwn/sast/md5.rb +2 -2
- data/lib/pwn/sast/outer_html.rb +2 -2
- data/lib/pwn/sast/padding_oracle.rb +2 -2
- data/lib/pwn/sast/password.rb +2 -2
- data/lib/pwn/sast/php_input_mechanisms.rb +2 -2
- data/lib/pwn/sast/php_type_juggling.rb +2 -2
- data/lib/pwn/sast/pom_version.rb +2 -2
- data/lib/pwn/sast/port.rb +2 -2
- data/lib/pwn/sast/post_message.rb +2 -2
- data/lib/pwn/sast/private_key.rb +2 -2
- data/lib/pwn/sast/redirect.rb +2 -2
- data/lib/pwn/sast/redos.rb +2 -2
- data/lib/pwn/sast/shell.rb +2 -2
- data/lib/pwn/sast/signature.rb +2 -2
- data/lib/pwn/sast/sql.rb +2 -2
- data/lib/pwn/sast/ssl.rb +2 -2
- data/lib/pwn/sast/sudo.rb +2 -2
- data/lib/pwn/sast/task_tag.rb +2 -2
- data/lib/pwn/sast/throw_errors.rb +3 -2
- data/lib/pwn/sast/token.rb +2 -2
- data/lib/pwn/sast/type_script_type_juggling.rb +2 -2
- data/lib/pwn/sast/version.rb +2 -2
- data/lib/pwn/sast/window_location_hash.rb +2 -2
- data/lib/pwn/version.rb +1 -1
- metadata +1 -1
@@ -62,17 +62,13 @@ module PWN
|
|
62
62
|
border-spacing:0px;
|
63
63
|
}
|
64
64
|
|
65
|
-
table.squish {
|
66
|
-
table-layout: fixed;
|
67
|
-
}
|
68
|
-
|
69
65
|
td {
|
70
66
|
vertical-align: top;
|
71
67
|
word-wrap: break-word !important;
|
72
68
|
}
|
73
69
|
|
74
|
-
.
|
75
|
-
background-color: #
|
70
|
+
tr.selected td {
|
71
|
+
background-color: #FFF396 !important;
|
76
72
|
}
|
77
73
|
</style>
|
78
74
|
|
@@ -92,7 +88,11 @@ module PWN
|
|
92
88
|
</h1><br /><br />
|
93
89
|
<h2 id="report_name"></h2><br />
|
94
90
|
|
95
|
-
<div
|
91
|
+
<div>
|
92
|
+
<!--<button type="button" id="button">Rows Selected</button>-->
|
93
|
+
<button type="button" id="export_selected">Export Selected to JSON</button>
|
94
|
+
</div><br />
|
95
|
+
|
96
96
|
<div>
|
97
97
|
<b>Toggle Column(s):</b>
|
98
98
|
<a class="toggle-vis" data-column="1" href="#">Request Time</a> |
|
@@ -127,13 +127,23 @@ module PWN
|
|
127
127
|
<th>HTTP Response Body (300 bytes)</th>
|
128
128
|
</tr>
|
129
129
|
</thead>
|
130
|
+
<col width="30px" />
|
131
|
+
<col width="60px" />
|
132
|
+
<col width="60px" />
|
133
|
+
<col width="30px" />
|
134
|
+
<col width="90px" />
|
135
|
+
<col width="30px" />
|
136
|
+
<col width="30px" />
|
137
|
+
<col width="30px" />
|
138
|
+
<col width="300px" />
|
139
|
+
<col width="300px" />
|
130
140
|
<!-- DataTables <tbody> -->
|
131
141
|
</table>
|
132
142
|
</div>
|
133
143
|
|
134
144
|
<script>
|
135
145
|
var htmlEntityEncode = $.fn.dataTable.render.text().display;
|
136
|
-
|
146
|
+
|
137
147
|
$(document).ready(function() {
|
138
148
|
var oldStart = 0;
|
139
149
|
var table = $('#pwn_www_uri_buster_results').DataTable( {
|
@@ -153,22 +163,14 @@ module PWN
|
|
153
163
|
$('html,body').animate({scrollTop: targetOffset}, 500);
|
154
164
|
oldStart = oSettings._iDisplayStart;
|
155
165
|
}
|
156
|
-
// Select individual lines in a row
|
157
|
-
$('#multi_line_select tbody').on('click', 'tr', function () {
|
158
|
-
$(this).toggleClass('highlighted');
|
159
|
-
if ($('#multi_line_select tr.highlighted').length > 0) {
|
160
|
-
$('#multi_line_select tr td button').attr('disabled', 'disabled');
|
161
|
-
// Remove multi-line bug button
|
162
|
-
} else {
|
163
|
-
$('#multi_line_select tr td button').removeAttr('disabled');
|
164
|
-
// Add multi-line bug button
|
165
|
-
}
|
166
|
-
});
|
167
166
|
},
|
168
167
|
"ajax": "#{report_name}.json",
|
169
168
|
//"deferRender": true,
|
170
169
|
"dom": "fplitfpliS",
|
171
170
|
"autoWidth": false,
|
171
|
+
"select": {
|
172
|
+
"style": "multi"
|
173
|
+
},
|
172
174
|
"columns": [
|
173
175
|
{ "data": null },
|
174
176
|
{
|
@@ -272,19 +274,34 @@ module PWN
|
|
272
274
|
column.visible( ! column.visible() );
|
273
275
|
});
|
274
276
|
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
277
|
+
$('#export_selected').click( function () {
|
278
|
+
var selectedRows = table.rows({ selected: true });
|
279
|
+
if (selectedRows.count() === 0) {
|
280
|
+
alert('No rows selected');
|
281
|
+
return;
|
282
|
+
}
|
280
283
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
// $(this).children('td').children('#multi_line_select').children('tbody').children('tr').toggleClass('highlighted');
|
285
|
-
//});
|
284
|
+
$.getJSON(table.ajax.url(), function(original_json) {
|
285
|
+
var selected_data = selectedRows.data().toArray();
|
286
|
+
original_json.data = selected_data;
|
286
287
|
|
287
|
-
|
288
|
+
if (original_json.report_name) {
|
289
|
+
original_json.report_name += '_selected';
|
290
|
+
}
|
291
|
+
|
292
|
+
var json_str = JSON.stringify(original_json, null, 2);
|
293
|
+
var blob = new Blob([json_str], { type: 'application/json' });
|
294
|
+
var url = URL.createObjectURL(blob);
|
295
|
+
var a = document.createElement('a');
|
296
|
+
a.href = url;
|
297
|
+
a.download = (original_json.report_name || 'selected') + '.json';
|
298
|
+
document.body.appendChild(a);
|
299
|
+
a.click();
|
300
|
+
document.body.removeChild(a);
|
301
|
+
URL.revokeObjectURL(url);
|
302
|
+
});
|
303
|
+
});
|
304
|
+
});
|
288
305
|
</script>
|
289
306
|
</body>
|
290
307
|
</html>
|
@@ -28,7 +28,7 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
@@ -36,7 +36,7 @@ module PWN
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -in \
|
38
38
|
-e amqp \
|
39
|
-
-e rabbit #{entry} | \
|
39
|
+
-e rabbit #{entry} 2> /dev/null | \
|
40
40
|
grep guest
|
41
41
|
"
|
42
42
|
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -35,7 +35,7 @@ module PWN
|
|
35
35
|
test_case_filter = "
|
36
36
|
grep -n \
|
37
37
|
-e 'import org.apache.commons.io.FileSystemUtils' \
|
38
|
-
-e 'freeSpaceKb' #{entry}
|
38
|
+
-e 'freeSpaceKb' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/aws.rb
CHANGED
@@ -26,7 +26,7 @@ module PWN
|
|
26
26
|
entry_beautified = false
|
27
27
|
|
28
28
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
29
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
29
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
30
30
|
entry = "#{entry}.JS-BEAUTIFIED"
|
31
31
|
entry_beautified = true
|
32
32
|
end
|
@@ -36,7 +36,7 @@ module PWN
|
|
36
36
|
-e 'ec2-' \
|
37
37
|
-e 'access.key' \
|
38
38
|
-e 'secret.access' \
|
39
|
-
-e 'secret.key' #{entry}
|
39
|
+
-e 'secret.key' #{entry} 2> /dev/null
|
40
40
|
"
|
41
41
|
|
42
42
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -28,7 +28,7 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
@@ -163,7 +163,7 @@ module PWN
|
|
163
163
|
-e 'memcpy' \
|
164
164
|
-e 'RtlCopyMemory' \
|
165
165
|
-e 'CopyMemory' \
|
166
|
-
-e 'wmemcpy' #{entry}
|
166
|
+
-e 'wmemcpy' #{entry} 2> /dev/null
|
167
167
|
"
|
168
168
|
|
169
169
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/base64.rb
CHANGED
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -35,7 +35,7 @@ module PWN
|
|
35
35
|
# TODO: Include regex to search for Base64 strings
|
36
36
|
test_case_filter = "
|
37
37
|
grep -Ein \
|
38
|
-
-e 'BASE64' #{entry}
|
38
|
+
-e 'BASE64' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/beef_hook.rb
CHANGED
@@ -27,14 +27,14 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
34
34
|
|
35
35
|
test_case_filter = "
|
36
36
|
grep -Fin \
|
37
|
-
-e 'hook.js' #{entry}
|
37
|
+
-e 'hook.js' #{entry} 2> /dev/null
|
38
38
|
"
|
39
39
|
|
40
40
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -36,7 +36,7 @@ module PWN
|
|
36
36
|
grep -Fn \
|
37
37
|
-e 'getEngineByName(' \
|
38
38
|
-e 'ProcessBuilder(' \
|
39
|
-
-e '.exec(' #{entry}
|
39
|
+
-e '.exec(' #{entry} 2> /dev/null
|
40
40
|
"
|
41
41
|
|
42
42
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -38,7 +38,7 @@ module PWN
|
|
38
38
|
-e 'os.popen' \
|
39
39
|
-e 'os.system' \
|
40
40
|
-e 'subprocess.call' \
|
41
|
-
-e 'subprocess.Popen' #{entry}
|
41
|
+
-e 'subprocess.Popen' #{entry} 2> /dev/null
|
42
42
|
"
|
43
43
|
|
44
44
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -46,7 +46,7 @@ module PWN
|
|
46
46
|
-e 'Facter::Util::Resolution::exec' \
|
47
47
|
-e 'PTY.spawn' \
|
48
48
|
-e 'Process.fork' \
|
49
|
-
-e '%x' #{entry}
|
49
|
+
-e '%x' #{entry} 2> /dev/null
|
50
50
|
"
|
51
51
|
|
52
52
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -36,7 +36,7 @@ module PWN
|
|
36
36
|
grep -Fn \
|
37
37
|
-e 'Process(' \
|
38
38
|
-e '.!' \
|
39
|
-
-e '.!!' #{entry}
|
39
|
+
-e '.!!' #{entry} 2> /dev/null
|
40
40
|
"
|
41
41
|
|
42
42
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/csrf.rb
CHANGED
@@ -28,14 +28,14 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
35
35
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -ni \
|
38
|
-
-e 'csrf' #{entry}
|
38
|
+
-e 'csrf' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -29,7 +29,7 @@ module PWN
|
|
29
29
|
entry_beautified = false
|
30
30
|
|
31
31
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
32
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
32
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
33
33
|
entry = "#{entry}.JS-BEAUTIFIED"
|
34
34
|
entry_beautified = true
|
35
35
|
end
|
@@ -43,7 +43,7 @@ module PWN
|
|
43
43
|
-e readResolve \
|
44
44
|
-e readExternal \
|
45
45
|
-e readUnshared \
|
46
|
-
-e Serializable #{entry}
|
46
|
+
-e Serializable #{entry} 2> /dev/null
|
47
47
|
"
|
48
48
|
|
49
49
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/emoticon.rb
CHANGED
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -41,7 +41,7 @@ module PWN
|
|
41
41
|
-e '\_o_/' \
|
42
42
|
-e '\_O_/' \
|
43
43
|
-e '\_0_/' \
|
44
|
-
-e ':-O' #{entry}
|
44
|
+
-e ':-O' #{entry} 2> /dev/null
|
45
45
|
"
|
46
46
|
|
47
47
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/eval.rb
CHANGED
@@ -28,14 +28,14 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
35
35
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -n \
|
38
|
-
-e 'eval(' #{entry}
|
38
|
+
-e 'eval(' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/factory.rb
CHANGED
@@ -29,7 +29,7 @@ module PWN
|
|
29
29
|
entry_beautified = false
|
30
30
|
|
31
31
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
32
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
32
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
33
33
|
entry = "#{entry}.JS-BEAUTIFIED"
|
34
34
|
entry_beautified = true
|
35
35
|
end
|
@@ -38,7 +38,7 @@ module PWN
|
|
38
38
|
grep -in \
|
39
39
|
-e DocumentBuilderFactory \
|
40
40
|
-e XMLInputFactory \
|
41
|
-
-e SAXParserFactory #{entry}
|
41
|
+
-e SAXParserFactory #{entry} 2> /dev/null
|
42
42
|
"
|
43
43
|
|
44
44
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -43,7 +43,7 @@ module PWN
|
|
43
43
|
-e "Authorization:(\\sVapid|Vapid)" \
|
44
44
|
-e "Authorization:(\\sSCRAM|SCRAM)" \
|
45
45
|
-e "Authorization:(\\sAWS|AWS)" \
|
46
|
-
-e "authorization(\\s=|=)" #{entry}
|
46
|
+
-e "authorization(\\s=|=)" #{entry} 2> /dev/null
|
47
47
|
)
|
48
48
|
|
49
49
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/inner_html.rb
CHANGED
@@ -28,14 +28,14 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
35
35
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -n \
|
38
|
-
-e 'innerHTML' #{entry}
|
38
|
+
-e 'innerHTML' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/keystore.rb
CHANGED
@@ -27,14 +27,14 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
34
34
|
|
35
35
|
test_case_filter = "
|
36
36
|
grep -Fin \
|
37
|
-
-e 'keystore' #{entry}
|
37
|
+
-e 'keystore' #{entry} 2> /dev/null
|
38
38
|
"
|
39
39
|
|
40
40
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -28,7 +28,7 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
@@ -36,7 +36,7 @@ module PWN
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -n \
|
38
38
|
-e 'localStorage.getItem(' \
|
39
|
-
-e 'localStorage.setItem(' #{entry}
|
39
|
+
-e 'localStorage.setItem(' #{entry} 2> /dev/null
|
40
40
|
"
|
41
41
|
|
42
42
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -28,14 +28,14 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
35
35
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -n \
|
38
|
-
-e 'location.hash' #{entry}
|
38
|
+
-e 'location.hash' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/log4j.rb
CHANGED
@@ -27,14 +27,14 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
34
34
|
|
35
35
|
test_case_filter = "
|
36
36
|
grep -Fin \
|
37
|
-
-e 'log4j' #{entry}
|
37
|
+
-e 'log4j' #{entry} 2> /dev/null
|
38
38
|
"
|
39
39
|
|
40
40
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/logger.rb
CHANGED
@@ -28,7 +28,7 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
@@ -38,7 +38,7 @@ module PWN
|
|
38
38
|
-e '.warn' \
|
39
39
|
-e '.info' \
|
40
40
|
-e '.error' \
|
41
|
-
-e '.debug' #{entry} | grep -i \
|
41
|
+
-e '.debug' #{entry} > /dev/null | grep -i \
|
42
42
|
-e log | grep -i \
|
43
43
|
-e pass \
|
44
44
|
-e pwd \
|
data/lib/pwn/sast/md5.rb
CHANGED
@@ -27,14 +27,14 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
34
34
|
|
35
35
|
test_case_filter = "
|
36
36
|
grep -in \
|
37
|
-
-e 'md5' #{entry}
|
37
|
+
-e 'md5' #{entry} 2> /dev/null
|
38
38
|
"
|
39
39
|
|
40
40
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/outer_html.rb
CHANGED
@@ -28,14 +28,14 @@ module PWN
|
|
28
28
|
entry_beautified = false
|
29
29
|
|
30
30
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
31
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
31
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
32
32
|
entry = "#{entry}.JS-BEAUTIFIED"
|
33
33
|
entry_beautified = true
|
34
34
|
end
|
35
35
|
|
36
36
|
test_case_filter = "
|
37
37
|
grep -n \
|
38
|
-
-e 'outerHTML' #{entry}
|
38
|
+
-e 'outerHTML' #{entry} 2> /dev/null
|
39
39
|
"
|
40
40
|
|
41
41
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -26,7 +26,7 @@ module PWN
|
|
26
26
|
entry_beautified = false
|
27
27
|
|
28
28
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
29
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
29
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
30
30
|
entry = "#{entry}.JS-BEAUTIFIED"
|
31
31
|
entry_beautified = true
|
32
32
|
end
|
@@ -34,7 +34,7 @@ module PWN
|
|
34
34
|
# TODO: Include regex to search for weak CBC block cipher padding
|
35
35
|
test_case_filter = "
|
36
36
|
grep -Ein \
|
37
|
-
-e 'AES/CBC/PKCS' #{entry}
|
37
|
+
-e 'AES/CBC/PKCS' #{entry} 2> /dev/null
|
38
38
|
"
|
39
39
|
|
40
40
|
str = `#{test_case_filter}`.to_s.scrub
|
data/lib/pwn/sast/password.rb
CHANGED
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -38,7 +38,7 @@ module PWN
|
|
38
38
|
-e "passwd(\\s=|=)" \
|
39
39
|
-e "pass(\\s=|=)" \
|
40
40
|
-e "password:\\s" \
|
41
|
-
-e "pwd(\\s=|=)" #{entry}
|
41
|
+
-e "pwd(\\s=|=)" #{entry} 2> /dev/null
|
42
42
|
)
|
43
43
|
|
44
44
|
str = `#{test_case_filter}`.to_s.scrub
|
@@ -27,7 +27,7 @@ module PWN
|
|
27
27
|
entry_beautified = false
|
28
28
|
|
29
29
|
if File.extname(entry) == '.js' && (`wc -l #{entry}`.split.first.to_i < 20 || entry.include?('.min.js') || entry.include?('-all.js'))
|
30
|
-
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED`.to_s.scrub
|
30
|
+
js_beautify = `js-beautify #{entry} > #{entry}.JS-BEAUTIFIED 2> /dev/null`.to_s.scrub
|
31
31
|
entry = "#{entry}.JS-BEAUTIFIED"
|
32
32
|
entry_beautified = true
|
33
33
|
end
|
@@ -40,7 +40,7 @@ module PWN
|
|
40
40
|
-e '$_POST' \
|
41
41
|
-e '$_REQUEST' \
|
42
42
|
-e '$_SERVER' \
|
43
|
-
-e '$_SESSION' #{entry}
|
43
|
+
-e '$_SESSION' #{entry} 2> /dev/null
|
44
44
|
"
|
45
45
|
|
46
46
|
str = `#{test_case_filter}`.to_s.scrub
|