pwn 0.4.381 → 0.4.384
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 +5 -4
 - data/bin/pwn_autoinc_version +10 -2
 - data/lib/pwn/plugins/transparent_browser.rb +41 -2
 - 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: 01e5e3df0ac88dc250a1802ee64b5cc2f86b5914a629b73962248d834edac063
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3addee02b1cb5672ad73d9fcb37034e728411fa61285f5d489c58fe2d56cd505
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 75b5d00ca3d50dc0047f57cea1fcf192fae4fdf25c25ba3432118e93f0346437bd64eb7d6dc78f7b5b10fb6b057914a8cd630f586a6d58c9e4d56b899b546234
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 74f07a6e5fce1dfa28a1e2bf67f59d71f007bfad73e2c3098a9b0931a9ff7fdaa0b06b559a9305c9378eff33361893af238e2e3e83562b6b7ed6f410afaa2222
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -31,12 +31,13 @@ Leveraging various pre-built modules and the pwn prototyper, you can mix-and-mat 
     | 
|
| 
       31 
31 
     | 
    
         
             
            Tested on Linux, & OSX leveraging Ruby via RVM.
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
            ```
         
     | 
| 
      
 34 
     | 
    
         
            +
            $ rvm use ruby-3.1.1@global
         
     | 
| 
       34 
35 
     | 
    
         
             
            $ rvm gemset create pwn
         
     | 
| 
      
 36 
     | 
    
         
            +
            $ rvm use ruby-3.1.1@pwn
         
     | 
| 
       35 
37 
     | 
    
         
             
            $ rvm list gemsets
         
     | 
| 
       36 
     | 
    
         
            -
            $ rvm use ruby-<VERSION>@pwn
         
     | 
| 
       37 
38 
     | 
    
         
             
            $ gem install --verbose pwn
         
     | 
| 
       38 
39 
     | 
    
         
             
            $ pwn
         
     | 
| 
       39 
     | 
    
         
            -
            pwn[v0.4. 
     | 
| 
      
 40 
     | 
    
         
            +
            pwn[v0.4.384]:001 >>> PWN.help
         
     | 
| 
       40 
41 
     | 
    
         
             
            ```
         
     | 
| 
       41 
42 
     | 
    
         | 
| 
       42 
43 
     | 
    
         
             
            [](https://youtu.be/G7iLUY4FzsI)
         
     | 
| 
         @@ -47,11 +48,11 @@ pwn[v0.4.381]:001 >>> PWN.help 
     | 
|
| 
       47 
48 
     | 
    
         
             
            It's wise to update pwn often as numerous versions are released/week:
         
     | 
| 
       48 
49 
     | 
    
         
             
            ```
         
     | 
| 
       49 
50 
     | 
    
         
             
            $ rvm list gemsets
         
     | 
| 
       50 
     | 
    
         
            -
            $ rvm use ruby 
     | 
| 
      
 51 
     | 
    
         
            +
            $ rvm use ruby-3.1.1@pwn
         
     | 
| 
       51 
52 
     | 
    
         
             
            $ gem uninstall --all --executables pwn
         
     | 
| 
       52 
53 
     | 
    
         
             
            $ gem install --verbose pwn
         
     | 
| 
       53 
54 
     | 
    
         
             
            $ pwn
         
     | 
| 
       54 
     | 
    
         
            -
            pwn[v0.4. 
     | 
| 
      
 55 
     | 
    
         
            +
            pwn[v0.4.384]:001 >>> PWN.help
         
     | 
| 
       55 
56 
     | 
    
         
             
            ```
         
     | 
| 
       56 
57 
     | 
    
         | 
| 
       57 
58 
     | 
    
         | 
    
        data/bin/pwn_autoinc_version
    CHANGED
    
    | 
         @@ -5,6 +5,7 @@ require 'pwn' 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            old_rev = PWN::VERSION
         
     | 
| 
       7 
7 
     | 
    
         
             
            readme_md_path = './README.md'
         
     | 
| 
      
 8 
     | 
    
         
            +
            current_ruby = './.ruby-version'
         
     | 
| 
       8 
9 
     | 
    
         
             
            placeholder_arr = old_rev.split('.')
         
     | 
| 
       9 
10 
     | 
    
         
             
            major = placeholder_arr[0].to_i
         
     | 
| 
       10 
11 
     | 
    
         
             
            minor = placeholder_arr[1].to_i
         
     | 
| 
         @@ -37,11 +38,18 @@ File.open('./lib/pwn/version.rb', 'w') do |f| 
     | 
|
| 
       37 
38 
     | 
    
         
             
            end
         
     | 
| 
       38 
39 
     | 
    
         | 
| 
       39 
40 
     | 
    
         
             
            # Update README.md
         
     | 
| 
      
 41 
     | 
    
         
            +
            current_ruby_version = "ruby-#{File.read(current_ruby).chomp}"
         
     | 
| 
       40 
42 
     | 
    
         
             
            old_readme_md = File.read(readme_md_path, encoding: 'utf-8')
         
     | 
| 
      
 43 
     | 
    
         
            +
            pwn_regex = 'pwn\[v.+\..+\..+\]'
         
     | 
| 
      
 44 
     | 
    
         
            +
            rb_regex = 'ruby-.+'
         
     | 
| 
       41 
45 
     | 
    
         
             
            File.open(readme_md_path, 'w') do |file|
         
     | 
| 
       42 
46 
     | 
    
         
             
              old_readme_md.each_line do |line|
         
     | 
| 
       43 
     | 
    
         
            -
                if line.to_s.scrub.match?(/ 
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
                if line.to_s.scrub.match?(/#{pwn_regex}/) ||
         
     | 
| 
      
 48 
     | 
    
         
            +
                   line.to_s.scrub.match?(/#{rb_regex}/)
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                  new_line = line.to_s.gsub(/pwn\[v#{old_rev}\]/, "pwn\[v#{new_rev}\]") if line.to_s.scrub.match?(/#{pwn_regex}/)
         
     | 
| 
      
 51 
     | 
    
         
            +
                  new_line = line.to_s.gsub(/ruby-.+(?=(@))/, current_ruby_version) if line.to_s.scrub.match?(/#{rb_regex}/)
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
       45 
53 
     | 
    
         
             
                  file.puts new_line
         
     | 
| 
       46 
54 
     | 
    
         
             
                else
         
     | 
| 
       47 
55 
     | 
    
         
             
                  file.puts line
         
     | 
| 
         @@ -317,22 +317,61 @@ module PWN 
     | 
|
| 
       317 
317 
     | 
    
         
             
                        with_devtools: 'optional - boolean (defaults to false)'
         
     | 
| 
       318 
318 
     | 
    
         
             
                      )
         
     | 
| 
       319 
319 
     | 
    
         
             
                      puts browser_obj1.public_methods
         
     | 
| 
       320 
     | 
    
         
            -
             
     | 
| 
      
 320 
     | 
    
         
            +
             
     | 
| 
      
 321 
     | 
    
         
            +
                      ********************************************************
         
     | 
| 
      
 322 
     | 
    
         
            +
                      * DevTools Interaction Only works w/ Chrome
         
     | 
| 
       321 
323 
     | 
    
         
             
                      * All DevTools Commands can be found here:
         
     | 
| 
       322 
324 
     | 
    
         
             
                      * https://chromedevtools.github.io/devtools-protocol/
         
     | 
| 
      
 325 
     | 
    
         
            +
                      * Examples
         
     | 
| 
       323 
326 
     | 
    
         
             
                      devtools = browser_obj1.driver.devtools
         
     | 
| 
       324 
327 
     | 
    
         
             
                      puts devtools.public_methods
         
     | 
| 
       325 
328 
     | 
    
         
             
                      puts devtools.instance_variables
         
     | 
| 
       326 
329 
     | 
    
         
             
                      puts devtools.instance_variable_get('@messages')
         
     | 
| 
      
 330 
     | 
    
         
            +
             
     | 
| 
      
 331 
     | 
    
         
            +
                      * Tracing
         
     | 
| 
       327 
332 
     | 
    
         
             
                      devtools.send_cmd('Tracing.start')
         
     | 
| 
       328 
333 
     | 
    
         
             
                      devtools.send_cmd('Tracing.requestMemoryDump')
         
     | 
| 
       329 
334 
     | 
    
         
             
                      devtools.send_cmd('Tracing.end')
         
     | 
| 
       330 
335 
     | 
    
         
             
                      puts devtools.instance_variable_get('@messages')
         
     | 
| 
      
 336 
     | 
    
         
            +
             
     | 
| 
      
 337 
     | 
    
         
            +
                      * Network
         
     | 
| 
       331 
338 
     | 
    
         
             
                      devtools.send_cmd('Network.enable')
         
     | 
| 
       332 
     | 
    
         
            -
                      last_ws_resp = devtools.instance_variable_get('@messages').last if devtools.instance_variable_get('@messages')['method'] == 'Network.webSocketFrameReceived'
         
     | 
| 
      
 339 
     | 
    
         
            +
                      last_ws_resp = devtools.instance_variable_get('@messages').last if devtools.instance_variable_get('@messages').last['method'] == 'Network.webSocketFrameReceived'
         
     | 
| 
       333 
340 
     | 
    
         
             
                      puts last_ws_resp
         
     | 
| 
       334 
341 
     | 
    
         
             
                      devtools.send_cmd('Network.disable')
         
     | 
| 
       335 
342 
     | 
    
         | 
| 
      
 343 
     | 
    
         
            +
                      * Debugging DOM and Sending JavaScript to Console
         
     | 
| 
      
 344 
     | 
    
         
            +
                      devtools.send_cmd('Runtime.enable')
         
     | 
| 
      
 345 
     | 
    
         
            +
                      devtools.send_cmd('DOM.enable')
         
     | 
| 
      
 346 
     | 
    
         
            +
                      devtools.send_cmd('Log.enable')
         
     | 
| 
      
 347 
     | 
    
         
            +
                      devtools.send_cmd('Debugger.enable')
         
     | 
| 
      
 348 
     | 
    
         
            +
                      devtools.send_cmd('Debugger.pause')
         
     | 
| 
      
 349 
     | 
    
         
            +
                      console_cmd = {
         
     | 
| 
      
 350 
     | 
    
         
            +
                        expression: 'console.log(global);'
         
     | 
| 
      
 351 
     | 
    
         
            +
                      }
         
     | 
| 
      
 352 
     | 
    
         
            +
                      step = 1
         
     | 
| 
      
 353 
     | 
    
         
            +
                      loop do
         
     | 
| 
      
 354 
     | 
    
         
            +
                        devtools.send_cmd('Debugger.stepInto')
         
     | 
| 
      
 355 
     | 
    
         
            +
                        puts \"Step: \#{step}\"
         
     | 
| 
      
 356 
     | 
    
         
            +
                        this_call = devtools.instance_variable_get('@messages').last['params']['callFrames'].last if devtools.instance_variable_get('@messages').last['method'] == 'Debugger.paused'
         
     | 
| 
      
 357 
     | 
    
         
            +
                        puts \"Function Name: \#{this_call['functionName']}\"
         
     | 
| 
      
 358 
     | 
    
         
            +
                        this_document = devtools.send_cmd('DOM.getDocument')
         
     | 
| 
      
 359 
     | 
    
         
            +
                        puts \"This #document:\\n\#{this_document}\\n\\n\\n\"
         
     | 
| 
      
 360 
     | 
    
         
            +
             
     | 
| 
      
 361 
     | 
    
         
            +
                        this_global = devtools.send_cmd(
         
     | 
| 
      
 362 
     | 
    
         
            +
                          'Runtime.evaluate',
         
     | 
| 
      
 363 
     | 
    
         
            +
                          **console_cmd
         
     | 
| 
      
 364 
     | 
    
         
            +
                        )
         
     | 
| 
      
 365 
     | 
    
         
            +
                        puts \"This #global:\\n\#{this_global}\\n\\n\\n\"
         
     | 
| 
      
 366 
     | 
    
         
            +
             
     | 
| 
      
 367 
     | 
    
         
            +
                        sleep 9
         
     | 
| 
      
 368 
     | 
    
         
            +
                      end
         
     | 
| 
      
 369 
     | 
    
         
            +
                      devtools.send_cmd('Debugger.disable')
         
     | 
| 
      
 370 
     | 
    
         
            +
                      devtools.send_cmd('DOM.disable')
         
     | 
| 
      
 371 
     | 
    
         
            +
                      devtools.send_cmd('Runtime.disable')
         
     | 
| 
      
 372 
     | 
    
         
            +
                      * End of DevTools Examples
         
     | 
| 
      
 373 
     | 
    
         
            +
                      ********************************************************
         
     | 
| 
      
 374 
     | 
    
         
            +
             
     | 
| 
       336 
375 
     | 
    
         
             
                      browser_obj1 = #{self}.linkout(
         
     | 
| 
       337 
376 
     | 
    
         
             
                        browser_obj: 'required - browser_obj returned from #open method)'
         
     | 
| 
       338 
377 
     | 
    
         
             
                      )
         
     | 
    
        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.384
         
     | 
| 
       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-29 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activesupport
         
     |