Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/perl
- use v5.10;
- use strict;
- use warnings;
- use LWP::UserAgent;
- use HTTP::Cookies;
- use Data::Dumper;
- my $cookie_jar = HTTP::Cookies->new('ignore_discard' => 0, 'autosave' => 1,);
- my $ua = LWP::UserAgent->new(ssl_opts => { SSL_verify_mode => 'SSL_VERIFY_NONE'});
- my $req;
- my $response;
- my $code = -1;
- my $date = `date`;
- $ua->timeout(10);
- $ua->cookie_jar($cookie_jar);
- $ua->agent("Wget/1.12 (linux-gnu)");
- $req = new HTTP::Request( POST => 'https://qualysguard.qg2.apps.qualys.com/api/2.0/fo/session/');
- $req->header('X-Requested_with' => 'CounterACT Qualys VM plugin request');
- $req->content_type('application/x-www-form-urlencoded');
- $req->content('action=login&username=fresc2lc&password=KsEb95ucre');
- $response = $ua->request($req);
- $code = scalar($response->code);
- if ($code != 200) {
- print("Failed to login!\n");
- exit(1)
- }
- print("$date\n");
- test_api("Asset API", "asset/ip");
- print("\n");
- test_api("Scan API", "scan");
- print("\n");
- test_api("Report API", "report");
- sub test_api {
- my $name = shift;
- my $api = shift;
- my $path = "https://qualysguard.qg2.apps.qualys.com/api/2.0/fo/$api/";
- $req = new HTTP::Request( POST => "$path");
- $req->header('X-Requested_with' => 'CounterACT Qualys VM plugin request');
- $req->content_type('application/x-www-form-urlencoded');
- $req->content('action=list');
- $response = $ua->request($req);
- my $x_ratelimit_limit = $response->header('x-ratelimit-limit');
- my $x_ratelimit_remaining = $response->header('x-ratelimit-remaining');
- print("Testing $name:\n");
- print " x_ratelimit_limit=$x_ratelimit_limit\n";
- if ($x_ratelimit_remaining == 0) {
- print " x_ratelimit_remaining=$x_ratelimit_remaining (blocked)\n";
- } elsif ($x_ratelimit_remaining < 30) {
- print " x_ratelimit_remaining=$x_ratelimit_remaining (extreme caution)\n";
- } elsif ($x_ratelimit_remaining < 100) {
- print " x_ratelimit_remaining=$x_ratelimit_remaining (caution)\n";
- } else {
- print " x_ratelimit_remaining=$x_ratelimit_remaining (OK)\n";
- }
- }
- $req = new HTTP::Request( POST => 'https://qualysapi.qualys.com/api/2.0/fo/session/');
- $req->header('X-Requested_with' => 'CounterACT Qualys VM plugin request');
- $req->content_type('application/x-www-form-urlencoded');
- $req->content('action=logout');
- $response = $ua->request($req);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement