pwn 0.4.384 → 0.4.385
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/bin/pwn_domain_reversewhois +1 -1
- data/lib/pwn/plugins/transparent_browser.rb +40 -16
- data/lib/pwn/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75736869902b7c6f459eba755d600c32701d7dbc7195aaf9d38219575fbf3f03
|
4
|
+
data.tar.gz: 47e399e9a118b2213dcc69273b8c21ecd9d57e2954c36cc90abb0dd9767ec1fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c24ab122a7f3973a06b53593e3da3fe2ff230afcfd379f0fcfd07150ef1a5abe7f16b7158d1ff26b19b6f0b9ca04241740d0a052f02a08ab2d49ddb65bebc863
|
7
|
+
data.tar.gz: e33a0711c81d27e1889038d8fbde16a564bd179d6f0f49a277f8a457c0ae57d05d37afd808b93dd4a7e715a009f59e36537ee71e41d87b79a958b0ab8cff19a2
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.1@pwn
|
|
37
37
|
$ rvm list gemsets
|
38
38
|
$ gem install --verbose pwn
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.4.
|
40
|
+
pwn[v0.4.385]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.1@pwn
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.4.
|
55
|
+
pwn[v0.4.385]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
data/bin/pwn_domain_reversewhois
CHANGED
@@ -66,7 +66,7 @@ begin
|
|
66
66
|
browser_obj.goto('https://domainbigdata.com')
|
67
67
|
|
68
68
|
# Type Registrant Filter in Char-by-Char to Ensure Everyone is Happy ;)
|
69
|
-
PWN::Plugins::TransparentBrowser.type_as_human(
|
69
|
+
PWN::Plugins::TransparentBrowser.type_as_human(string: registrant_filter) do |char|
|
70
70
|
browser_obj.text_field(id: 'txtSearchTopPage').wait_until(&:present?).send_keys(char)
|
71
71
|
end
|
72
72
|
browser_obj.button(id: 'btnTopSearch').wait_until(&:present?).click
|
@@ -5,6 +5,7 @@ require 'selenium/webdriver'
|
|
5
5
|
require 'selenium/devtools'
|
6
6
|
require 'rest-client'
|
7
7
|
require 'socksify'
|
8
|
+
require 'openssl'
|
8
9
|
require 'em/pure_ruby'
|
9
10
|
require 'faye/websocket'
|
10
11
|
|
@@ -260,12 +261,12 @@ module PWN
|
|
260
261
|
|
261
262
|
# Supported Method Parameters::
|
262
263
|
# PWN::Plugins::TransparentBrowser.type_as_human(
|
263
|
-
#
|
264
|
+
# string: 'required - string to type as human',
|
264
265
|
# rand_sleep_float: 'optional - float timing in between keypress (defaults to 0.09)'
|
265
266
|
# )
|
266
267
|
|
267
268
|
public_class_method def self.type_as_human(opts = {})
|
268
|
-
|
269
|
+
string = opts[:string].to_s
|
269
270
|
|
270
271
|
rand_sleep_float = if opts[:rand_sleep_float]
|
271
272
|
opts[:rand_sleep_float].to_f
|
@@ -273,7 +274,7 @@ module PWN
|
|
273
274
|
0.09
|
274
275
|
end
|
275
276
|
|
276
|
-
|
277
|
+
string.each_char do |char|
|
277
278
|
yield char
|
278
279
|
sleep Random.rand(rand_sleep_float)
|
279
280
|
end
|
@@ -342,32 +343,55 @@ module PWN
|
|
342
343
|
|
343
344
|
* Debugging DOM and Sending JavaScript to Console
|
344
345
|
devtools.send_cmd('Runtime.enable')
|
346
|
+
devtools.send_cmd('Console.enable')
|
345
347
|
devtools.send_cmd('DOM.enable')
|
348
|
+
devtools.send_cmd('Page.enable')
|
349
|
+
devtools.send_cmd('Network.enable')
|
346
350
|
devtools.send_cmd('Log.enable')
|
347
351
|
devtools.send_cmd('Debugger.enable')
|
348
352
|
devtools.send_cmd('Debugger.pause')
|
349
|
-
console_cmd = {
|
350
|
-
expression: 'console.log(global);'
|
351
|
-
}
|
352
353
|
step = 1
|
354
|
+
next_step = 60
|
353
355
|
loop do
|
356
|
+
console_events = []
|
357
|
+
b.driver.on_log_event(:console) { |event| console_events.push(event) }
|
358
|
+
|
354
359
|
devtools.send_cmd('Debugger.stepInto')
|
355
360
|
puts \"Step: \#{step}\"
|
356
|
-
|
357
|
-
puts \"Function Name: \#{this_call['functionName']}\"
|
361
|
+
|
358
362
|
this_document = devtools.send_cmd('DOM.getDocument')
|
359
363
|
puts \"This #document:\\n\#{this_document}\\n\\n\\n\"
|
360
364
|
|
361
|
-
|
362
|
-
'
|
363
|
-
|
364
|
-
)
|
365
|
-
puts \"This #global:\\n\#{this_global}\\n\\n\\n\"
|
365
|
+
console_cmd = {
|
366
|
+
expression: 'for(var pop_var in window) { if (window.hasOwnProperty(pop_var) && window[pop_var] != null) console.log(pop_var + \" = \" + window[pop_var]); }'
|
367
|
+
}
|
368
|
+
puts devtools.send_cmd('Runtime.evaluate', **console_cmd)
|
366
369
|
|
367
|
-
|
370
|
+
print '-' * 180
|
371
|
+
print \"\\n\"
|
372
|
+
console_events.each do |event|
|
373
|
+
puts event.args
|
374
|
+
end
|
375
|
+
puts \"Console Response Length: \#{console_events.length}\"
|
376
|
+
console_events_digest = OpenSSL::Digest::SHA256.hexdigest(
|
377
|
+
console_events.inspect
|
378
|
+
)
|
379
|
+
puts \"Console Events Array SHA256 Digest: \#{console_events_digest}\"
|
380
|
+
print '-' * 180
|
381
|
+
puts \"\\n\\n\\n\"
|
382
|
+
|
383
|
+
print \"Next Step in \"
|
384
|
+
next_step.downto(1) {|n| print \"\#{n} \"; sleep 1 }
|
385
|
+
puts 'READY!'
|
386
|
+
step += 1
|
368
387
|
end
|
388
|
+
|
369
389
|
devtools.send_cmd('Debugger.disable')
|
390
|
+
devtools.send_cmd('Log.disable')
|
391
|
+
devtools.send_cmd('Network.disable')
|
392
|
+
devtools.send_cmd('Page.disable')
|
370
393
|
devtools.send_cmd('DOM.disable')
|
394
|
+
devtools.send_cmd('Console.disable')
|
371
395
|
devtools.send_cmd('Runtime.disable')
|
372
396
|
* End of DevTools Examples
|
373
397
|
********************************************************
|
@@ -377,9 +401,9 @@ module PWN
|
|
377
401
|
)
|
378
402
|
|
379
403
|
#{self}.type_as_human(
|
380
|
-
|
404
|
+
string: 'required - string to type as human',
|
381
405
|
rand_sleep_float: 'optional - float timing in between keypress (defaults to 0.09)'
|
382
|
-
) {|char| browser_obj1.text_field(name: \"
|
406
|
+
) {|char| browser_obj1.text_field(name: \"search\").send_keys(char) }
|
383
407
|
|
384
408
|
browser_obj1 = #{self}.close(
|
385
409
|
browser_obj: 'required - browser_obj returned from #open method)'
|
data/lib/pwn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.385
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|