class CryptoToolbox::Oracles::PaddingOracle::HttpOracle
Public Class Methods
new()
click to toggle source
# File lib/crypto-toolbox/oracles/padding_oracle/http_oracle.rb, line 5 def initialize require 'net/http' @domain = "crypto-class.appspot.com" @uri_base = "/po?er=" @port = 80 end
Public Instance Methods
connect()
click to toggle source
# File lib/crypto-toolbox/oracles/padding_oracle/http_oracle.rb, line 11 def connect true end
disconnect()
click to toggle source
# File lib/crypto-toolbox/oracles/padding_oracle/http_oracle.rb, line 14 def disconnect true end
valid_padding?(input,block_amount)
click to toggle source
# File lib/crypto-toolbox/oracles/padding_oracle/http_oracle.rb, line 17 def valid_padding?(input,block_amount) uri = @uri_base + input.hex Net::HTTP.start(@domain,@port) do |http| res = http.request(Net::HTTP::Get.new(uri)) code = res.code.to_i sleep 0.001 # -> howto check this ? (block_index == 3 && pad_index == 9 && code == 200 ) (code == 404 || code == 200) end end