class TaintedLove::Replacer::ReplaceFile
Public Instance Methods
read(*args)
click to toggle source
# File lib/tainted_love/replacer/replace_file.rb, line 11 def read(*args) if args.first.tainted? TaintedLove.report(:ReplaceFile, args.first, [:lfi], 'File read using tainted file name') _tainted_love_original_read(*args) else _tainted_love_original_read(*args).untaint end end
replace!()
click to toggle source
# File lib/tainted_love/replacer/replace_file.rb, line 6 def replace! File.instance_eval do alias :_tainted_love_original_read :read alias :_tainted_love_original_write :write def read(*args) if args.first.tainted? TaintedLove.report(:ReplaceFile, args.first, [:lfi], 'File read using tainted file name') _tainted_love_original_read(*args) else _tainted_love_original_read(*args).untaint end end def write(*args) if args.first.tainted? TaintedLove.report(:ReplaceFile, args.first, [:lfi], 'File write using tainted file name') end _tainted_love_original_write(*args) end end end
write(*args)
click to toggle source
# File lib/tainted_love/replacer/replace_file.rb, line 21 def write(*args) if args.first.tainted? TaintedLove.report(:ReplaceFile, args.first, [:lfi], 'File write using tainted file name') end _tainted_love_original_write(*args) end