0

net/http で書かれた以下の ruby​​ コードを metasploit の補助として使いたい。

librex または gsub を使用したファイルの読み取り/書き込みと文字列操作をサポートする他の metasploit API のいずれかに簡単に変換するのに役立つものを知りたいです。

私のコードは次のとおりです。

require 'net/http'
require 'uri'

puts "Enter Target:\n"
target = URI(gets())
Net::HTTP.start(target.host, target.port) do |http|
request = Net::HTTP::Get.new target.request_uri
response = http.request request 
puts response.body
end
a = target
puts "File contents:\n"
f= File.open("fuzz.txt","r")
outfile = File.new('out.txt','w')
while line = f.gets do
    line1 = URI.escape("#{line}")
    puts "\n---------------------------------------------\nAttack value: #{line1}"
    newuri = a.to_s.gsub('fuzz',"#{line1}\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    puts "Attack Request:\n\n#{newuri}\n"
    nuri = URI.parse("#{newuri}")
    outfile.puts "\nAttack Value:#{line1}\nRequest:#{newuri}\n####################\n\n"
    Net::HTTP.start(nuri.host, nuri.port) do |http|
    request = Net::HTTP::Get.new nuri.request_uri
    response = http.request request 
    puts "Attack Response \n\n####################\n\n"
    puts response.body
    outfile.puts response.body
end

終わり

4

1 に答える 1

1

あなたがやろうとしていることに似た例については、Github の Metasploit リポジトリをチェックすることをお勧めします。

https://github.com/rapid7/metasploit-framework

putsMetasploit 補助モジュールでは決して使用しないでください。ユーザー入力には登録オプションを使用する必要があります。print_lineの代わりに使用できますputs

Metasploit ガイドラインの詳細については、以下をご覧ください。

https://github.com/rapid7/metasploit-framework/blob/master/HACKING

于 2012-05-06T21:48:56.927 に答える