Enhancement NTLMv2

This commit is contained in:
pkriko 2018-01-11 11:37:21 +01:00
parent f3a3bc85d2
commit d0c1f32def
5 changed files with 26 additions and 1 deletions

View File

@ -43,6 +43,7 @@ sub new {
"urlpath:s" => { name => 'url_path' },
"credentials" => { name => 'credentials' },
"ntlm" => { name => 'ntlm' },
"ntlmv2" => { name => 'ntlmv2' },
"username:s" => { name => 'username' },
"password:s" => { name => 'password' },
"proxyurl:s" => { name => 'proxyurl' },
@ -201,6 +202,10 @@ Specify this option if you access webpage over basic authentication
Specify this option if you access webpage over ntlm authentication (Use with --credentials option)
=item B<--ntlmv2>
Specify this option if you access webpage over ntlmv2 authentication (Use with --credentials and --port options)
=item B<--username>
Specify username for basic authentication (Mandatory if --credentials is specidied)

View File

@ -47,6 +47,7 @@ sub new {
"urlpath:s" => { name => 'url_path' },
"credentials" => { name => 'credentials' },
"ntlm" => { name => 'ntlm' },
"ntlmv2" => { name => 'ntlmv2' },
"username:s" => { name => 'username' },
"password:s" => { name => 'password' },
"proxyurl:s" => { name => 'proxyurl' },
@ -398,6 +399,10 @@ Specify this option if you access webpage over basic authentication
Specify this option if you access webpage over ntlm authentication (Use with --credentials option)
=item B<--ntlmv2>
Specify this option if you access webpage over ntlmv2 authentication (Use with --credentials and --port options)
=item B<--username>
Specify username for basic authentication (Mandatory if --credentials is specidied)

View File

@ -43,6 +43,7 @@ sub new {
"urlpath:s" => { name => 'url_path' },
"credentials" => { name => 'credentials' },
"ntlm" => { name => 'ntlm' },
"ntlmv2" => { name => 'ntlmv2' },
"username:s" => { name => 'username' },
"password:s" => { name => 'password' },
"proxyurl:s" => { name => 'proxyurl' },
@ -179,6 +180,10 @@ Specify this option if you access webpage over basic authentication
Specify this option if you access webpage over ntlm authentication (Use with --credentials option)
=item B<--ntlmv2>
Specify this option if you access webpage over ntlmv2 authentication (Use with --credentials and --port options)
=item B<--username>
Specify username for basic authentication (Mandatory if --credentials is specidied)

View File

@ -47,6 +47,7 @@ sub new {
"urlpath:s" => { name => 'url_path' },
"credentials" => { name => 'credentials' },
"ntlm" => { name => 'ntlm' },
"ntlmv2" => { name => 'ntlmv2' },
"username:s" => { name => 'username' },
"password:s" => { name => 'password' },
"proxyurl:s" => { name => 'proxyurl' },
@ -425,6 +426,10 @@ Specify this option if you access webpage over basic authentication
Specify this option if you access webpage over ntlm authentication (Use with --credentials option)
=item B<--ntlmv2>
Specify this option if you access webpage over ntlmv2 authentication (Use with --credentials and --port options)
=item B<--username>
Specify username for basic authentication (Mandatory if --credentials is specidied)

View File

@ -26,6 +26,7 @@ use LWP::UserAgent;
use HTTP::Cookies;
use URI;
use IO::Socket::SSL;
use Data::Dumper;
sub new {
my ($class, %options) = @_;
@ -267,6 +268,10 @@ sub request {
if (defined($request_options->{credentials}) && defined($request_options->{ntlm})) {
$self->{ua}->credentials($request_options->{hostname} . ':' . $request_options->{port}, '', $request_options->{username}, $request_options->{password});
} elsif (defined($request_options->{credentials}) && defined($request_options->{ntlmv2})) {
eval "use Authen::NTLM"; die $@ if $@;
ntlmv2(1);
$self->{ua}->credentials($request_options->{hostname} . ':' . $request_options->{port}, '', $request_options->{username}, $request_options->{password});
} elsif (defined($request_options->{credentials})) {
$req->authorization_basic($request_options->{username}, $request_options->{password});
}