mirror of
https://github.com/github/codeql.git
synced 2025-12-20 02:44:30 +01:00
31 lines
1.5 KiB
Ruby
31 lines
1.5 KiB
Ruby
class NokogiriXXE < ApplicationController
|
|
|
|
content = params[:xml]
|
|
|
|
Nokogiri::XML::parse(content, nil, nil, 2)
|
|
Nokogiri::XML::parse(content, nil, nil, 1 | 2)
|
|
Nokogiri::XML::parse(content, nil, nil, 1 & ~Nokogiri::XML::ParseOptions::NONET)
|
|
Nokogiri::XML::parse(content, nil, nil, Nokogiri::XML::ParseOptions::NOENT)
|
|
Nokogiri::XML::parse(content, nil, nil, Nokogiri::XML::ParseOptions::DTDLOAD)
|
|
Nokogiri::XML::parse(content, nil, nil, ~Nokogiri::XML::ParseOptions::NOENT) #OK
|
|
Nokogiri::XML::parse(content, nil, nil, ~Nokogiri::XML::ParseOptions::NONET)
|
|
Nokogiri::XML::parse(content, nil, nil, Nokogiri::XML::ParseOptions.new 2)
|
|
options = Nokogiri::XML::ParseOptions.new 2048
|
|
options.noent
|
|
Nokogiri::XML::parse(content, nil, nil, options)
|
|
Nokogiri::XML::parse(content, nil, nil, (Nokogiri::XML::ParseOptions.new 0).noent)
|
|
|
|
Nokogiri::XML::parse(content) { |x| x.noent }
|
|
Nokogiri::XML::parse(content) { |x| x.nononet } #FAIL
|
|
Nokogiri::XML::parse(content) { |x| x.nodtdload } # OK
|
|
|
|
Nokogiri::XML::parse(content) { |x| x.nonet.noent.nodtdload }
|
|
|
|
Nokogiri::XML::parse(content, nil, nil, 2048) # OK
|
|
Nokogiri::XML::parse(content, nil, nil, 3)
|
|
Nokogiri::XML::parse(content) { |x| x.nonet.nodtdload } # OK
|
|
Nokogiri::XML::parse(content, nil, nil, Nokogiri::XML::ParseOptions::NOENT & ~Nokogiri::XML::ParseOptions::NOBLANKS)
|
|
Nokogiri::XML::parse(content, nil, nil, ~Nokogiri::XML::ParseOptions::NONET | Nokogiri::XML::ParseOptions::NOBLANKS)
|
|
|
|
end
|