Class: Analyzers::PaddingOracle::Oracles::TcpOracle

Inherits:
Object
  • Object
show all
Defined in:
lib/crypto-toolbox/analyzers/padding_oracle/oracles/tcp_oracle.rb

Instance Method Summary collapse

Constructor Details

#initializeTcpOracle

Returns a new instance of TcpOracle.



10
11
12
13
14
15
16
17
# File 'lib/crypto-toolbox/analyzers/padding_oracle/oracles/tcp_oracle.rb', line 10

def initialize
  require "socket"
  require_relative "./tcp_oracle.rb"

  @hostname  = '54.165.60.84'
  @port      = 80
  @socket    = nil
end

Instance Method Details

#connectObject



18
19
20
# File 'lib/crypto-toolbox/analyzers/padding_oracle/oracles/tcp_oracle.rb', line 18

def connect
  @socket = TCPSocket.open(@hostname,@port)
end

#disconnectObject



22
23
24
25
26
# File 'lib/crypto-toolbox/analyzers/padding_oracle/oracles/tcp_oracle.rb', line 22

def disconnect
  if @socket
    @socket.close
  end
end

#valid_padding?(input, block_amount) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/crypto-toolbox/analyzers/padding_oracle/oracles/tcp_oracle.rb', line 28

def valid_padding?(input,block_amount)
  ! send_msg(input, block_amount).zero?
end