07.06.2015 Views

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner ...

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner ...

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Netsparker is the first false-positive free scanner. In this<br />

document you can see the details of features, how to use<br />

them and how to tweak Netsparker. If you can’t find<br />

what you are looking for, please contact us<br />

(support@mavitunasecurity.com) and we will get back to<br />

you as soon as possible.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>.<br />

<strong>Finance</strong> <strong>House</strong>, <strong>522A</strong> <strong>Uxbridge</strong> <strong>Rd</strong>.<br />

<strong>Pinner</strong>. HA5 3PU / UK<br />

+44 845 686 3001<br />

+44 845 686 5001


Chapter:


Chapter:


Chapter:


Chapter: Introduction to Netsparker<br />

5<br />

Product Overview<br />

Welcome to Netsparker, Next Generation Web Application <strong>Security</strong> Scanner.<br />

Netsparker is a powerful web application security scanner, which can crawl, attack and<br />

identify vulnerabilities in all types of web application whatever platform and<br />

technology it is built on. It can identify web application vulnerabilities like SQL<br />

Injection, Cross-site Scripting (XSS), Remote Code Execution and many more with<br />

easy-to-use and intuitive user interface.<br />

Netsparker helps web application developers or penetration testers to secure web applications<br />

easily and painless than ever before. With preset scan profiles, you can quickly start scanning your<br />

applications and get instant reports.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

6<br />

Feature List<br />

False-Positive Free<br />

Netsparker doesn’t produce false positives, period.<br />

All web application security scanners report false-positives, that is, they report vulnerabilities which<br />

do not exist.<br />

Netsparker will try lots of different things to confirm identified issues. If it can’t confirm them and<br />

requires manual inspection, it’ll inform you about a potential issue generally prefixed as [Possible],<br />

but if it’s confirmed, that’s it. It’s a vulnerability. You can trust it.<br />

Netsparker confirm vulnerabilities by exploiting them in a safe manner. If a vulnerability successfully<br />

exploited it can’t be a false-positive. Exploitation is carried out by a non-destructive way.<br />

Please see False Positive Free Scanning in our website for more details about the technical details and<br />

overall technology.<br />

JavaScript / AJAX / Web 2.0 Support<br />

Netsparker has a JavaScript engine which can parse, execute and analyse the output of JavaScript<br />

and VBScript used in web applications.<br />

This allows Netsparker to successfully crawl and understand websites that use different AJAX<br />

frameworks, custom code or well known frameworks such as Query.<br />

Detailed Issue Reporting<br />

Netsparker reports vulnerabilities with maximum details to make the issue and impact clear to the<br />

user.<br />

For example, instead of simply reporting XSS (Cross-site Scripting), it will report one of the following<br />

issues:<br />

<br />

<br />

<br />

<br />

Reflective Cross-site Scripting<br />

Permanent Cross-site Scripting<br />

Cross-site Scripting via RFI (Where the user can carry out an XSS attack via RFI but cannot<br />

execute code)<br />

Limited Cross-site Scripting (Attack only works on Internet Explorer)<br />

The same goes for many other vulnerabilities.<br />

Impact and remediation of issues is also tailored based on the details, therefore developers will know<br />

what to do specifically to solve the right problem in the right way.<br />

Automation<br />

Netsparker provides CLI (Command Line Interface) for you to automate scans and integrate<br />

Netsparker into your automated scanning, reporting or development systems.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

7<br />

Logging<br />

Netsparker supports logging all HTTP Requests and responses as well as all identified vulnerabilities<br />

and other scan related data. This might help penetration testing companies that want to have a copy<br />

of all the actions carried out by the scanner.<br />

Reporting<br />

Netsparker provides several different report outputs:<br />

<br />

<br />

<br />

XML<br />

RTF / Word<br />

PDF<br />

If you like, you can use Netsparker’s Reporting API to generate your own custom reports. Reporting<br />

API supports C# scripting and Netsparker ships with a sample report. All you need to do is use the<br />

provided template and create a new file and put it into the ”Report Templates“ folder.<br />

DRM Free Licensing<br />

Netsparker licensing system is very user-friendly and also respects users’ privacy. It’s DRM free. You<br />

don’t have to activate it every time you move your license, it doesn’t require internet connection to<br />

activate or work. It works instantly, you don’t have to login anywhere or get permission from us to<br />

start using your licence.<br />

Integrated Exploitation Engine<br />

Netsparker delivers detection, confirmation and exploitation of vulnerabilities in a single integrated<br />

environment.<br />

When Netsparker identifies a vulnerability, if the vulnerability has an exploitation module, it will let<br />

you exploit the vulnerability so that you can see the real impact of an attack.<br />

Currently it supports:<br />

<br />

<br />

<br />

<br />

<br />

Exploitation of SQL Injection Vulnerabilities<br />

Getting a reverse shell from SQL Injection vulnerabilities<br />

Exploitation of LFI (Local File Inclusion) Vulnerabilities<br />

Downloading the source code of all the crawled pages via LFI (Local File Inclusion)<br />

Downloading known OS files via LFI (Local File Inclusion)<br />

Post-Exploitation<br />

Netsparker is the only web application security scanner with an integrated exploitation engine. This<br />

gives Netsparker an edge and allows it to carry out some post-exploitation security checks.<br />

Currently it doesn’t support a lot of checks, but we are working on that. Right now, the only check is<br />

carried after SQL Injections.<br />

When Netsparker identifies an SQL Injection, it will check if the database user has admin privileges. If<br />

the user has administrator privileges, it’ll report a new issue called “Database User Has Admin<br />

Privileges”<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

8<br />

Authentication<br />

Netsparker supports several authentication methods:<br />

<br />

<br />

<br />

<br />

Basic Authentication<br />

Form Authentication<br />

The user can configure form authentication for different websites.<br />

NTLM Authentication<br />

Digest Authentication<br />

This way you can test an application which requires one of the listed authentication methods.<br />

Figure 1: A Sample View from the User Interface<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

9<br />

Technical Details<br />

When Netsparker identifies an SQL Injection, it can automatically determine how to exploit it and<br />

extract the version information from the application. When the version is successfully extracted,<br />

Netsparker will report the issue as confirmed, so that you can ensure that the issue is not a falsepositive.<br />

The same applies to other vulnerabilities such as XSS (Cross-site Scripting) where Netsparker loads<br />

the injection in an actual browser and observes the execution of JavaScript to confirm that the<br />

injection will actually get executed in the browser.<br />

List of issues Netsparker is looking for.<br />

E-mail Address Disclosure<br />

Netsparker identifies email addresses exposed in the website. This can help users to determine what<br />

sort of information you exposed on the internet and can also help you to fight against spam.<br />

Internal IP Disclosure<br />

Netsparker identifies internal IP Disclosure issues where a system exposes its internal network IP<br />

address.<br />

Cookies are not marked as Secure<br />

Netsparker reports an issue if the cookies are not marked as “Secure” in HTTPS websites.<br />

Not marking cookies as “Secure” can allow attackers to steal the cookies over an HTTP connection<br />

and use those cookies to login to the application.<br />

Cookies are not marked as HTTPOnly<br />

Netsparker reports an issue if the cookies are not marked as HTTPOnly.<br />

JavaScript can’t read cookies if the cookie is marked as “HTTPOnly”, which means that a Cross-site<br />

Scripting attack can’t just steal the cookies via JavaScript. However that doesn’t mean the application<br />

is secure. Cross-site Scripting vulnerabilities should be addressed even though cookies are marked as<br />

“HTTPOnly” since there are many other ways to use Cross-site Scripting attacks.<br />

“HTTPOnly” should be considered as a defence in depth feature and should be used where possible.<br />

Directory Listing<br />

Netsparker detects if directory listing is enabled in the web server.<br />

Directory listing can allow attackers to see all files in the system and can help them to gain more<br />

information or download sensitive files from the target system.<br />

Stack Trace Disclosure<br />

Netsparker determines if the target application is disclosing stack trace information.<br />

Stack trace can leak information about internals of the application and might include some sensitive<br />

data or application logic related clues.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

10<br />

Version Disclosure<br />

Netsparker identifies version disclosures in HTTP Headers and HTTP responses. It supports many<br />

frameworks and well known languages and web servers such as ORACLE, IIS, PHP, ASP.NET, Apache,<br />

Apache Modules, JSP.<br />

Figure 2: Apache Module Version Disclosure<br />

Access Denied Resources<br />

Netsparker reports an information issue when access is denied to the requested resources.<br />

This can help the user to determine the design of the application and possible resources that exist in<br />

the web server but are not publicly available.<br />

Internal Path Disclosure<br />

Netsparker determines if an application discloses internal paths related to the application or the<br />

configuration.<br />

This generally indicates a programming error in the application and can help an attacker to gain more<br />

information about internals of the system. An attacker can use this information while crafting an<br />

exploit for another identified vulnerability.<br />

Programming Error Messages<br />

Netsparker provokes the given website to give error messages and reports these. These errors have<br />

no direct security impact but most of the time they indicate a programming error, quality issue or a<br />

potential vulnerability in the application.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

11<br />

Many of them also leak information about the logic or the implementation of the application which<br />

can help an attacker to identify or exploit other related issues.<br />

Figure 3: Sample Programming Error Messages Example<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

12<br />

Database Error Messages<br />

Netsparker provokes and reports database error messages leaked by the website. If the problem is<br />

related to SQL Injection, a separate issue will be raised by Netsparker, otherwise this is reported to<br />

inform the user that the application is giving away some database error messages which is potentially<br />

related to a programming error or another problem regarding the database connectivity.<br />

Figure 4: Database Error Messages Example<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

13<br />

SQL Injection<br />

Netsparker can detect different SQL Injections including Error Based, Blind and Time Based SQL<br />

Injections. The SQL Injection engine is quite comprehensive and can detect Blind SQL Injections even<br />

in complicated queries.<br />

After identification of the vulnerability, Netsparker will carry out extra checks to determine if the<br />

database user used by the application has admin privileges. In this case it’ll report a separate issue<br />

called “Admin User DB Connection”<br />

Figure 5: Database User Has Administrator Rigths Example<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

14<br />

Local File Inclusions & Arbitrary File Reading<br />

Netsparker detects Local File Inclusion and Arbitrary File Reading issues. It detects if an attacker can<br />

access files and source code from the server.<br />

It supports Windows and *nix systems. It carries out advanced checks, uses process directories, Null<br />

byte injection attacks, dynamic file extension replacements and many other methods to bypass weak<br />

filters and black listings.<br />

It checks if the Local File Inclusion can be used for executing remote commands by injection code<br />

into log files.<br />

Netsparker has exploitation features for Local File Inclusion attacks.<br />

Figure 6: Local File Inclusion<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

15<br />

Remote File Inclusions<br />

Netsparker detects if the application is vulnerable to Remote File Inclusions which allow an attacker<br />

to inject a remote file and execute a piece of code in the server.<br />

Netsparker carries out several dynamic requests and tries to bypass many weak protections and<br />

black-listings.<br />

Figure 7: Remote File Inclusion<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

16<br />

Remote Code Injection / Evaluation<br />

Netsparker detects if the application evaluates / executes the given code within itself by using a<br />

dangerous call such as eval().<br />

This is a very dangerous vulnerability and can allow an attacker to execute code in the server.<br />

Figure 8: Remote Code Evaluation<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

17<br />

XSS (Cross-site Scripting)<br />

Netsparker identifies Permanent/Stored and Reflective Cross-site Scriptings. Cross-site scripting<br />

issues can be identified in parameters or in the URL.<br />

It carries our several different attacks to bypass known and custom weak protections.<br />

Figure 9: Cross-site Scripting<br />

XSS (Cross-site Scripting) via Remote File Injection<br />

Netsparker detects if it’s possible for an attacker to call inject a remote file to execute JavaScript in<br />

the current page.<br />

This can be used by attackers to carry out normal Cross-site scripting attacks.<br />

XSS (Cross-site Scripting) in URLs<br />

Netsparker detects Cross-site Scripting issues in URLs. This is common in websites using URL Rewrite<br />

and PHP.<br />

OS Level Command Injection<br />

Netsparker detects if an attacker can inject an OS command via the web application to execute code<br />

in the server.<br />

This vulnerability can allow an attacker to gain full access over the server and the web application.<br />

CRLF / HTTP Header Injection / Response Splitting<br />

Netsparker detects CRLF injection issues in the web applications.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

18<br />

This issue can cause many problems. The most common of these Cross-site scripting and session<br />

hijacking by carrying out a session fixation attack.<br />

Find Backup Files<br />

Netsparker tries to find backup and temporary files in the target website by using crawled file names<br />

and well known names.<br />

Netsparker determines if this problem can lead to source code disclosure issues.<br />

Crossdomain.xml Analysis<br />

Netsparker detects and analyses crossdomain.xml files for problems such as open access policy.<br />

An attacker needs to attack an authenticated user of the website to exploit this problem successfully<br />

. The attacker can read authenticated users’ private messages or carry out actions as the attacked<br />

user. If the Crossdomain.xml file has open policy, the attacker can bypass any CSRF protections<br />

(nonce / CSRF tokens).<br />

Figure 10: Open Policy Crossdomain.xml Identified<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

19<br />

Finds and Analyse Potential Issues in Robots.txt<br />

Netsparker detects and parse links in Robots.txt files. If it identifies a potentially critical URL listed in<br />

the Robots.txt it will report the problem with details.<br />

Figure 11: Robots File Identified<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

20<br />

Finds and Analyse Google Sitemap Files<br />

Netsparker detects and parses Google Sitemap files to increase the coverage and inform the user<br />

that the sitemap file is accessible to confirm that this is the intended behaviour.<br />

Figure 12: Sitemap File Identified<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

21<br />

Detect TRACE / TRACK Method Support<br />

Netsparker checks and determines if the TRACE / TRACK HTTP Methods are supported and enabled<br />

by the web server.<br />

Figure 13: TRACE / TRACK Identified<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

22<br />

Detect ASP.NET Debugging<br />

Netsparker detects if ASP.NET Debugging is enabled.<br />

Figure 14: ASP.NET Debugging Enabled<br />

Detect ASP.NET Trace<br />

Netsparker detects if ASP.NET Tracing is enabled and accessible.<br />

An attacker can use ASP.NET Tracing output to access active users’ sessions and gather information<br />

about the application and its structure.<br />

Checks for CVS, GIT and SVN Information and Source Code Disclosure<br />

Issues<br />

Netsparker detects files disclosed by source code versioning systems such as CVS, GIT and SVN.<br />

An attacker might exploit this problem to gain access to the source code of the application or might<br />

retrieve configuration and other important files.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

23<br />

Finds PHPInfo() pages and PHPInfo() disclosure in other pages<br />

Netsparker attempts to find forgotten phpinfo files in the system. It also reports the PHPinfo() output<br />

in all crawled pages.<br />

Information disclosed from PHPInfo() might help attackers to gain more information about the target<br />

system.<br />

Figure 15: PHP Info Disclosure<br />

Finds Apache Server-Status and Apache Server-Info pages<br />

Netsparker detects if the Apache Server-Status or Server-Info pages are publicly accessible.<br />

Apache Server-Status and Server-Info can be used by attackers to gain more information about the<br />

target system and will help them to find hidden URLs and currently visited URLs.<br />

Find Hidden Resources<br />

Netsparker looks for hidden files and directories in the target website.<br />

These include:<br />

<br />

<br />

<br />

Test files<br />

Management files and directories<br />

Known vulnerable files / scripts<br />

For example, even if it’s not linked anywhere in the website, Netsparker will identify the “admin”<br />

directory.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

24<br />

Basic Authentication over HTTP<br />

Netsparker reports if the server requests Basic Authentication over HTTP.<br />

An attacker sitting between the user and the website might carry out a MITM (Man in the middle) or<br />

sniffing attack to capture the user’s password.<br />

Password Transmitted over HTTP<br />

Netsparker identifies if the website sends passwords over HTTP.<br />

An attacker sitting between the user and the website might carry out a MITM (Man in the middle) or<br />

sniffing attack to capture the user’s password.<br />

Password Form Served over HTTP<br />

Netsparker determines if a login form server over HTTP and the target of the form is HTTPS.<br />

Many developers might not be aware that this is a security issue, therefore Netsparker reports a<br />

detailed issue for this problem to ensure that the issue is correctly addressed by developers.<br />

An attacker sitting between the user and the website might carry out a MITM (Man in the middle)<br />

and inject a piece of JavaScript code to steal the password before it reaches HTTPS, or he/she can<br />

easily change the target of the form to HTTP as well to steal the user’s password.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

25<br />

Source Code Disclosure<br />

Netsparker provokes the web server to disclose source code where possible and detects whether the<br />

source code disclosure is due to a configuration problem or a security issue or just left commented in<br />

the code.<br />

An attacker can access hard coded passwords, might gain information about the logic of the<br />

application and the system by reading the disclosed source code.<br />

Figure 16: ASP.NET Source Code Disclosure<br />

Auto Complete Enabled<br />

Netsparker determines if Auto Complete is left Enabled in sensitive form fields such as Credit Card<br />

numbers.<br />

An attacker who can access the user’s computer can access these cached auto complete data via the<br />

browser. This is especially critical if the website is used from public computers.<br />

ASP.NET ViewState Analysis<br />

Netsparker analyses ViewState related issues in ASP.NET pages.<br />

ViewState is not Signed<br />

Netsparker reports a new issue if the ViewState in the page is not signed. In this case an attacker<br />

might modify the content of the ViewState and subvert the logic of the application or carry out other<br />

attacks by changing the ViewState .<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Introduction to Netsparker<br />

26<br />

ViewState is not Encrypted<br />

Netsparker reports a vulnerability if the ViewState in the page is not encrypted. In this case an<br />

attacker can read the data within ViewState by simply decoding it. This might leak sensitive<br />

information.<br />

Figure 17: ASP.NET ViewState Analysis<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


System Requirements<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Microsoft Windows XP Professional Edition Service Pack 2 or Windows Server 2003 Service<br />

Pack 1 or higher<br />

Microsoft Internet Explorer 6 or higher<br />

Microsoft .NET Framework 3.5 Service Pack 1 runtime<br />

1Ghz Pentium processor or higher<br />

512 MB of available RAM (minimum); 1 GB (recommended)<br />

100 MB of HDD space for installation and additional 100 MB for scanning<br />

CD or DVD drive is not required<br />

Installation Instructions<br />

First, please make sure that you read the release notes if provided with the installation package. Also<br />

make sure that you have the latest service packs and Windows updates on your computer.<br />

Download the latest version of Netsparker from the provided download location and save the setup<br />

file to your computer. When download finishes, run NetsparkerSetup.exe to start the installation<br />

wizard.<br />

Figure 18: Installer Window<br />

The first page of the wizard is the Licence Agreement page. On this page, review the Licence<br />

Agreement and press I Agree button to continue.<br />

On the second page Netsparker Setup will provide a default installation folder; if you need to change<br />

the destination folder, press Browse... to change it, and press Continue to proceed.<br />

The following page will ask you to choose the Start Menu folder, you can change it if you want, and<br />

press Install to start installation.<br />

Installation will take up to a few minutes and then pressing Close will exit Netsparker setup.


Chapter: Installing Netsparker<br />

28<br />

After finishing installation, Netsparker will start and ask for the licence file. Press the Load Licence<br />

File... button to locate the licence file. This action will copy your licence file into the program folder<br />

and load the main user interface.<br />

Figure 19: Licence Question Window<br />

Updating and Automatic Updates<br />

When you run Netsparker for the first time, it asks for your permission to access the update server.<br />

So, Netsparker can automatically update itself over the Internet. If you decide not to do so, you can<br />

update manually by selecting Check for Updates on the Help menu or by Ctrl+U keyboard shortcut.<br />

Figure 20: Check for Updates Menu<br />

If automatic updates are enabled, Netsparker connects to the update server to check for available<br />

updates once a day. Netsparker does not connect to the Internet without your permission i .<br />

When there is an available update, it will prompt you to confirm the download and installation of the<br />

update. When you press Yes the update will be downloaded and installation wizard will start.<br />

Figure 21: Update Found Dialog<br />

You can enable or disable Automatic Updates at any time by using Advanced Settings on the Settings<br />

menu.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Starting a new scan<br />

To start a new scan with Netsparker, click Start a New Scan button from the File menu or from the<br />

toolbar. Type the address (URL) of the web application to be scanned in the Target URL box in the<br />

opened dialog window and click the Start button.<br />

After typing the URL of the web application, you can customize the scan by clicking the Profiles<br />

button and selecting one of the preset scan profiles and afterwards start the scan by clicking the<br />

Start button. You can find detailed information on customization options in the Start a New Scan<br />

dialog window in the “Customizing Scan Profile” section<br />

Figure 22: Start a New Scan Button<br />

The scan time will vary depending on size of the scanned web application, performance of the server<br />

on which it is running, and also the selected scan profile. During the scan, you can find detailed<br />

information about the scan progress on the Dashboard and track issues identified during the scan in<br />

the Issues and Sitemap panels.


Chapter: Getting Started<br />

30<br />

Customizing Scan Profiles<br />

Scan and Modules Tab<br />

In this tab, you can choose the issues the scanned web application will be tested against and speed<br />

and scope of the scan.<br />

When the Crawl Only option is not selected, attack types to be performed during scan can be chosen<br />

with Tests to Run.<br />

Figure 23: Tests to Run Window<br />

The Crawl Only option is used to scan without attacking the web application. When this option is<br />

selected, only the site map will be prepared and issues found identified this process will be reported.<br />

Crawl Only mode will not identified issues requires active attacking such as SQL Injection and Crosssite<br />

Scripting. This mode is useful if you want to assess some security best practices passively. Crawl<br />

Only mode report issues such as “Auto Complete is enabled”, “Password Transmitted over HTTP” and<br />

“Cookies are not Marked as Secure”.<br />

Scan Scope<br />

Scan scope defines which part of the application Netsparker allowed to crawl and attack.<br />

The scan scope can be chosen out of three different options:<br />

Figure 24: Scan Scope Option<br />

Entered Path and Below<br />

Scan requests and attacks are only made to the target path and URLs under that path.<br />

For example if the entered URL was https://example.com/testfolder/<br />

Will be tested:<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

31<br />

<br />

<br />

<br />

<br />

https://example.com/testfolder/test.php<br />

https://example.com/testfolder/test/modify.php<br />

https://example.com/testfolder/test/<br />

https://example.com/testfolder/test/<br />

Will not be tested:<br />

<br />

http://example.com/testfolder/<br />

Protocol is different (target URL was https)<br />

<br />

http://example.com/test.php<br />

URL is not under the given target<br />

<br />

http://test.example.com<br />

Different domain or subdomain<br />

Only Entered URL<br />

Scan requests and attacks are only made to the target link and no external links are followed. This<br />

function is quite useful if you want to test only one page and all parameters in that page without<br />

testing the whole web application.<br />

Be careful if you enter http://example.com/test , http://example.com/testx will be tested<br />

as well. This scope uses includes all URLs starts with the given target URL.<br />

For example if the entered URL was https://example.com/testfolder/test.php<br />

Will be tested:<br />

<br />

<br />

https://example.com/testfolder/test.php<br />

https://example.com/testfolder/test/test.php?id=1<br />

Will not be tested:<br />

<br />

https://example.com/testfolder/register.php<br />

URL does not start with the given target<br />

<br />

https://example.com/testfolder/test.php<br />

Protocol is different (target URL was https)<br />

<br />

http://example.com/test.php<br />

URL does not start with the given target<br />

<br />

http://test.example.com<br />

Different domain or subdomain<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

32<br />

Whole Domain<br />

The target URL is taken as the start point and all the URLs beginning with the same hostname are<br />

scanned.<br />

For example if the entered URL was https://example.com/testfolder/test.php<br />

Will be tested:<br />

<br />

<br />

<br />

<br />

https://example.com/index.php<br />

http://example.com/register/<br />

https://example.com/testfolder/test.php<br />

http://example.com/testfolder/test/test.php?id=1<br />

Will not be tested:<br />

<br />

http://test.example.com<br />

Different domain or subdomain<br />

Authentication Tab<br />

In the Authentication Tab, you can configure the authentication settings required for access to the<br />

web application you will scan with Netsparker.<br />

Netsparker supports NTLM, Basic, Digest Authentication and Forms Authentication. It also offers<br />

Cookie support if you need to set custom cookies.<br />

Figure 25: Authentication Tab<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

33<br />

Configure Form Authentication<br />

If the target web application requires to login via a web form you can configure it from this short<br />

wizard. When it’s configured correctly Netsparker will stay logged in to the application during the<br />

scan.<br />

First Step<br />

In the section you enter by clicking the Configure Form Authentication button;<br />

<br />

<br />

<br />

<br />

Support Dynamic Tokens: By activating this option, you can enable support for dynamic<br />

tokens used against vulnerabilities such as CSRF,<br />

Login Form Url In this field, you should type the URL of the Login Page of the application you<br />

want to scan,<br />

A Login Required Url , this field you should type the URL of a page accessible only after login<br />

is performed to the application,<br />

Username and Password fields should be filled in with the username and password required<br />

for logging in.<br />

Figure 26: Configure Form Authentication Step 1<br />

Proceed to the next step after you fill in the relevant fields with correct information by clicking the<br />

Next button.<br />

Second Step<br />

In the second step, Netsparker will make a request to the login page of the application and fill up the<br />

username and password in the relevant fields automatically. What should be done here is make sure<br />

that the relevant information is typed correctly and complete the login procedure by from the login<br />

form presented by the web application. When you click to login Netsparker will identify the login<br />

request and will enable the Next button.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

34<br />

Figure 27: Configure Form Authentication Step 2<br />

Proceed to the next step with the Next button.<br />

Third Step<br />

Using the information you gave, Netsparker logs in to the web application automatically and in case<br />

logout is performed during scan, it offers the options String Based Logout and Redirect Based Logout<br />

determining how this condition will be detected.<br />

Figure 28: Confirm Logged out and Logged In Views<br />

Moreover, in order for you to confirm accuracy of the settings, Netsparker will show the logged out<br />

and logged in states of the application and enable you to respond in case there is a fault.<br />

If Redirect Based Logout is identified Netsparker will fill it out for you. If it hasn’t you need enter a<br />

piece of text from logged out view. This text should not be visible in the Logged In view so Netsparker<br />

can understand that the application logged it out.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

35<br />

After you complete the final step, you can click the Finish button to start the scan with the login<br />

information created by Netsparker. Netsparker also keeps the previous login information in the<br />

Logins folder under the “My Documents\Netsparker Scans” folder.<br />

Next time you scan the very same URL Netsparker will automatically remember the authentication<br />

details so you don’t have to go through this process every time. However if you want to remove that<br />

profile you can click the Configure Form Authentication and then click the Cancel button again. This<br />

will remove the saved form authentication.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

36<br />

NTLM / Basic / Digest Authentication<br />

If the application you want to scan requires NTLM, Basic or Digest Authentication you can easily<br />

meet this requirement with Netsparker.<br />

All you have to do is:<br />

<br />

<br />

<br />

<br />

Check the NTLM or Basic or Digest Authentication Required checkbox,<br />

Type the username needed for authentication in the Username field,<br />

Type the password in the Password field,<br />

Type the domain of the application you want to scan in the Domain field.<br />

Figure 29: NTLM / Digest / Basic Authentication Details<br />

To allow you to scan web sites with invalid SSL certificate Netsparker will not check for the<br />

validity of the SSL certificate of the target web application. Therefore in the case of MITM<br />

(mat in the middle attack) the given password can be in danger.<br />

Custom Cookies<br />

You can set custom cookies. These cookies will be send with every request and cannot be expired by<br />

the server responses.<br />

Figure 30: Custom Cookies Window<br />

You can easily add a cookie in this format: CookieName=Value or add multiple cookies in the form<br />

CookieName1=Value1; CookieName2=Value2<br />

Exclude or Include Links<br />

Netsparker can limit the requests according to criteria determined by you. This will allow you to test<br />

only some parts of the target application or exclude some parts of the application from the test.<br />

Figure 31: Include & Exclude Rule Window<br />

Let us examine how this mechanism works through an example:<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

37<br />

When you activate the Exclude option and type “logout” in the relevant field, Netsparker will not<br />

make requests to links including the text “logout” while scanning your application.<br />

Netsparker will only look for the name in the URL not in the Link’s name or the title. If the<br />

Logout Page’s name sessionend.php you need to use “sessionend“ instead of the text in the<br />

link such as “Logout”.<br />

In the same way, when you activate the Include option and type “test” in the relevant field,<br />

Netsparker will only make requests to links including the text “test”.<br />

This field allows you to enter RegEx rules. For example if you want to exclude logout.php and<br />

/nottotest folder you can use the following RegEx and choose the Exclude radio button.<br />

(logout\.php|/nottotest)<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

38<br />

Advanced Settings<br />

Prior to starting to scan with Netsparker, from the Advanced Settings tab, you can choose how the<br />

pages will be analysed (Choose Parsers), optionally choose the proxy server address to be used<br />

(Proxy) and choose the database server type of the application you want to scan.<br />

Figure 32: Advanced Settings<br />

Choose Parsers<br />

To identify forms and link Netsparker uses two different parsers.<br />

Figure 33: Parsers<br />

<br />

<br />

Parse JavaScript / Ajax (DOM Parser): The DOM Parser analyses JavaScript / AJAX in the web<br />

application you want to scan and finds forms and links within them. It simulates and<br />

interprets the JavaScript for better accuracy.<br />

HTML / Text Parser: The Text Parser to HTML codes and links in text form in the application<br />

to be scanned.<br />

It’s highly recommended to keep both of these parsers enabled in every scan. If you know that the<br />

target application has not many JavaScripts you can try to disable JavaScript parser to speed up the<br />

Crawling Phase.<br />

Connection<br />

You can activate this feature if a Proxy Server is required to access the target web application, or if<br />

you want to pass the requests to be made to the target web application you want to scan through a<br />

proxy server.<br />

By default Netsparker will use the Internet Explorer’s proxy. If you want to disable this you can<br />

go to “Settings » Advanced Settings” and set DoNotUseSystemProxy to True<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

39<br />

Figure 34: Proxy Settings<br />

You can use the following formats to configure a proxy:<br />

<br />

<br />

http://localhost:8080<br />

https://user@pass@127.0.0.1:8000/<br />

Scan Optimisation<br />

If you know what the database the target web application running, you can choose the suitable<br />

option from the Scan Optimisation section and have the requests to be made during the scan<br />

optimised according to this database server, thus increase the scan performance by having it send<br />

less requests.<br />

Figure 35: Database Optimisation<br />

Some parts of the application you want to scan with Netsparker may use a different database server<br />

or you might not know the backend database server. In such cases where you cannot be sure for this<br />

reason, you can choose the Any option and have make Netsparker send requests including<br />

possibilities aimed at all database servers.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

40<br />

Analyzing Vulnerabilities<br />

When Netsparker detects a new issue as a result of a scan, you can access the details of this issue<br />

from the Issues and Sitemap panels. There is no need to wait for completion of the scan to examine<br />

the issues.<br />

Figure 36: Issues Panel<br />

In the Issues panel, issues are listed in groups according to 4 different properties.<br />

Figure 37: Sample Issue Details<br />

After you choose the issue details of which you want to see from the Sitemap or Issues list, you can<br />

see the page including the issue from the Browser View tab and at the same time you can see HTTP<br />

requests and responses from the HTTP Request / Response tab.<br />

Figure 38: Browser View<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

41<br />

Figure 39: HTTP Request / Response View<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Getting Started<br />

42<br />

Merging Scans<br />

If a web application is hosted on two or more different hostnames, scanning and reporting can done<br />

by scanning first and merging the second or following scans.<br />

Whenever you press the Start a New Scan button, Netsparker asks you to decide if you want to clear<br />

previous scan results or merge them. If you clear current results by pressing the Yes button, new<br />

scan will start with a clear site map. If you press the No button, current results will be merged with<br />

the new scans result, so that you can analyse and report them together.<br />

Figure 40: Scan Merge Question<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Scheduling<br />

Thanks to scheduling support, you can make your Netsparker scans run with daily, weekly or<br />

monthly periods and have the results saved to the given folder after the scan is complete.<br />

To schedule a new scan click to Start a New Scan or Schedule a New Scan then customise the scan<br />

and click Schedule Scan button.<br />

Scan Profile and Schedule Settings<br />

First thing to do is create a profile to specify the settings scans will use while running.<br />

Figure 41: Schedule a New Scan Window<br />

After the profile is set, you should specify the Scheduling settings by clicking the Schedule Scan<br />

button. After this button is clicked, the “Schedule Scan” window will open.<br />

Figure 42: Schedule Settings


Chapter: Using Netsparker<br />

44<br />

In the above window, the following settings should be made:<br />

<br />

<br />

Scheduled Task Name: Name of task to be scheduled. Run as User / Password: User name<br />

and password for running the relevant scan task.<br />

Recurrence: The time and intervals the scan will be repeated.<br />

o Run scan on / at: Start date and time of the scan.<br />

o Repeat: Repeating setting of the scan. It can be set as daily, weekly or monthly.<br />

Figure 43: Scan Recurrence Settings<br />

<br />

Reporting: Reporting settings.<br />

Figure 44: Reporting Settings<br />

o<br />

Report Type: Report format in which the scan result will be saved. You can get the<br />

scan result in “Adobe PDF File”, “Microsoft Word (RTF) File”, “Microsoft Excel (XLS)<br />

File”, “Web Page (HTML), “CSV File”, “Plain Text File”, “Vulnerabilities List (XML)”<br />

formats.<br />

o<br />

Figure 45: Report Types<br />

Path: File path the report will be saved.<br />

Report path can include %date% or %time% variables in the file name. This will allow<br />

you to run the same scan over and over and have a separate report file for each. For<br />

example you can use the following path:<br />

C:\My Reports\Testsite-%date%-%time%.pdf<br />

Generated names will be like this:<br />

c:\My Reports\Testsite-05032009-125012.pdf<br />

Figure 46: Report Path<br />

After the relevant settings are made correctly and saved, on the specified time, the “Windows Task<br />

Scheduler” will start the relevant scan task and save the result report into the specified folder when<br />

the scan is over. After the save is complete, you can use “Windows Task Scheduler” to track the scan<br />

task.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Using Netsparker<br />

45<br />

Reporting<br />

Netsparker offers two types of reporting systems. With the Generate Report option in the Reporting<br />

menu, you can obtain a report in which you can see all the vulnerabilities, print this report or save it<br />

in different file types. It is possible to obtain a report while the scan with Netsparker is still in<br />

progress or when it is completed.<br />

Generating Custom Reports<br />

You can access the report interface by using the Generate Report option in the Reporting menu on<br />

the menu bar, or with the Ctrl+E keyboard shortcut. You can see all the vulnerabilities as grouped<br />

according to their types on the left-hand side of the reporting interface. The vulnerabilities are listed<br />

as documents on the right-hand side. You can move over the document by clicking the groups or<br />

vulnerabilities on the document map.<br />

Figure 47: Reporting Document Map<br />

Figure 48: Sample Issue View from the Report<br />

In the Netsparker reporting interface; you can make searches within the report, change the page<br />

layout of your report and apply various styles to your report.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Using Netsparker<br />

46<br />

Figure 49: Report Settings<br />

If you like, you can save the report with the buttons on the toolbar or with the Export Document...<br />

option from the File menu, print it with the Print option or send it as e-mail with the Send via E-Mail<br />

option. Netsparker can report issues as Adobe Acrobat (PDF), webpage (HTML), rich text format<br />

(RTF), Microsoft Excel document (XLS, XLSX), plain text or various image formats and send these as e-<br />

mail. You can save the report in the rich text format (RTF) to open it in Microsoft Word or OpenOffice<br />

Writer.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Using Netsparker<br />

47<br />

Custom Reporting and Templates<br />

Netsparker can help you to generate custom reports according to your business need and for<br />

integration with other software. Custom reporting tool employs a scripting engine to run your C#<br />

code to generate reports.<br />

How does it work<br />

During the startup of Netsparker, it scans for C# code files (*.cs) in "ReportTemplates" directory<br />

located under Netsparker's installation directory. Every identified file will be visible in the<br />

"Reporting" menu as a custom report.<br />

Scripting Language<br />

Scripting language is C#. Even if you haven't written code in C# before, it shouldn't be a problem. It's<br />

pretty easy to make simple changes.<br />

Here is a sample custom report code:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<<br />

/vulnerableparameter><br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Using Netsparker<br />

48<br />

<br />

This will generate an XML file which includes:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

All vulnerabilities<br />

Vulnerable Parameter and type (GET/POST)<br />

Vulnerability Details<br />

Confirmation Status<br />

Extra exploitation data<br />

Scan time<br />

Vulnerability severity etc...<br />

You can add more details into the reports, customise them or filter your reports for with custom<br />

criteria.<br />

Documentation<br />

You can find MSDN style API documentation under "ReportTemplates" directory, named<br />

"NetsparkerReportingAPI.chm"<br />

Defining the extension of the report<br />

Name of the C# code file will be visible under Reporting menu and when user clicks to it generated<br />

report will use the extension from the custom report file name.<br />

For example:<br />

<br />

<br />

"Vulnerabilities List (XML).xml.cs" - File extension will be "xml"<br />

"Vulnerabilities List as Web Page.html.cs" - File extension will be "html"<br />

Testing Reports<br />

You don't need to restart Netsparker every time you change the source code of your report. After<br />

Netsparker adds it to the report menu once all you need to do is run it again. If it fails to compile it'll<br />

let you know with an error message.<br />

<strong>Security</strong><br />

Reporting engine runs with current user's privileges. So don't run the report unless you trust the<br />

author of the report.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Command Line Arguments<br />

You can use Netsparker from the command line interface. This interface can be used for automating<br />

scan operations or running a scan, settings of which were pre-specified with profiles and start-up<br />

parameters, with one click through a shortcut.<br />

Advanced scan settings can be specified from the console interface with profile support. Supported<br />

parameters are explained below.<br />

/a, /auto<br />

/p, /profile<br />

/u, /url<br />

/pr, /proxy<br />

When other parameters are given correctly, scan is carried out, report is saved<br />

and the program is closed.<br />

Name of the profile to be used during the scan. If not specified, the preset profile<br />

will be used.<br />

Address of the website to be scanned. If the profile file includes another website<br />

address, the address specified with this parameter will be taken into<br />

consideration. If two different URLs are specified in the profile and within this<br />

parameter, the one given with this parameter will be taken into consideration.<br />

Proxy server address. If the profile file includes another proxy server address, the<br />

address specified with this parameter will be taken into consideration. A valid<br />

proxy server address should be as follows: http://user:password@proxy.address/<br />

If a user name and password are required for logging on the proxy server, these<br />

should be given in the shown format.<br />

/r, /report<br />

/rf,<br />

/reportformat<br />

/rt,<br />

/reporttemplate<br />

File path the report will be saved. It should be used with the “-a” parameter. The<br />

full physical file path can be given; if only the file name is given, the created<br />

report will be saved into the folder the command is run.<br />

File format of the created report. If not specified, the report is created in “pdf”<br />

format; rtf, pdf, text, csv, xls or html formats are also supported.<br />

Type of the created report. If not specified, first type in the list will be valid.<br />

Sample Usages:<br />

Scan http://test23.example.com and save the report to C:\reports\report.pdf.<br />

Netsparker /a /url http://test23.example.com /rf pdf /r C:\reports\scanreport.pdf<br />

Launch a new scan parameter with a custom profile and URL:<br />

Netsparker /url http://test23.example.com /p LFI


Chapter: Using Netsparker<br />

50<br />

Figure 50: Netsparker Launched from Command Line with Custom Profile and URL<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

51<br />

Fundamentals<br />

Netsparker’s integrated exploitation engine allows you to exploit certain vulnerabilities directly from<br />

the user interface. This does not require exploitation expertise and can be used easily. Currently<br />

Netsparker supports exploitation for the following vulnerabilities:<br />

<br />

<br />

SQL Injection<br />

o Error Based SQL Injection<br />

o Boolean SQL Injection<br />

LFI (Local File Inclusions)<br />

Figure 51: Exploitation Toolbar<br />

Netsparker will hilight exploitation buttons based on the selected vulnerability from the “Issues<br />

Panel” or “Sitemap”. Netsparker will not hilight buttons if the exploitation is not possible. For<br />

example if the database user in an SQL Injection vulnerability has not priviliges to execute commands<br />

Get Shell button will not get hilighted.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

52<br />

Exploiting SQL Injections<br />

You can exploit the Error Based or Boolean Based SQL Injection vulnerabilities identified in the web<br />

application and run custom SQL queries in the application’s database via Netsparker’s SQL Injection<br />

panel.<br />

Figure 52: SQL Injection issues in the Issues Panel<br />

From the issues in the Issues panel choose a confirmed “SQL Injection” or “Boolean Based SQL<br />

Injection” issue, click the Execute SQL Commands button and the SQL Injection panel will appear<br />

where you can run custom SQL queries.<br />

Figure 53: Running Custom SQL Queries in SQL Injection Panel<br />

Afterwards, you can type an SQL query and run the query with the Run Query button. Response of<br />

the query will be displayed in the panel.<br />

Figure 54: Sample Custom SQL Query Output<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

53<br />

Getting a Reverse Shell<br />

When Netsparker identifies and confirms an SQL Injection vulnerability, Netsparker checks the<br />

database user automatically. If the user has admin rights and can access the file system, they can<br />

access the command prompt on the target system. The panel reverse shell dialog will pop up when<br />

you click the Get Shell button.<br />

Figure 55: Get Shell Button<br />

Figure 56: Reverse Shell Dialog<br />

Reverse shell will send a small executable to the target system and then when this executable gets<br />

executed by Netsparker it will connect back to your system. When it connects back you can run<br />

commands in the target system. For this purpose you should configure reverse shell settings in this<br />

dialog. You can either use your computer to listen for a shell or you can use a “Custom Listener”.<br />

You should choose IP Address to Listen so you can receive the shell. If you are not sure about<br />

addresses or if you are connected to a single network, it is recommended that you choose the “Any<br />

Interface” option.<br />

In the Public IP Address field, you must type your public IP address. This is the IP Address where the<br />

transferred executable will connect to. Thus ensure that this IP address is reachable by the target. If<br />

you access the target system over the internet this IP address should be your public IP address. You<br />

can find your public IP address from a website such as www.whatismyipaddress.com. If you need to<br />

enter your public address do not forget to configure port forwarding in your router.<br />

www.portforward.com website can guide you on how to configure port forwarding in your router.<br />

If target is in the local network you can use your local IP Address.<br />

In the Port field, you should specify the port number in your computer over which the reverse shell<br />

connection will be made; since this port will be used for listening, the required firewall configuration<br />

should be completed.<br />

After filling in the relevant fields, you can click the OK button to start sending the requests required<br />

to get reverse shell.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

54<br />

Figure 57: Sample Reverse Shell Session<br />

After connection is made successfully, you can run commands on the opposite system from the Code<br />

Execution panel.<br />

Using a Custom Listener<br />

You can activate the Use Custom Listener option to use a listener of your own choice instead of<br />

Netsparker’s connection listener. This is quite useful if you already have public internet facing system<br />

in place. Just configure a tool such as Netcat to listen the given port and set Public IP Address to that<br />

system’s IP Address. In this case you can’t see the reverse shell in Netsparker’s screen but you will<br />

able to access the shell from the Netcat. Use the following command to listen port 443 with Netcat:<br />

nc -vv -l -p 443<br />

Netsparker will use a standard reverse shell therefore you can use a tool such Netcat or any other<br />

similar tool.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

55<br />

Exploiting LFI<br />

It is possible to exploit the “Local File Inclusion” vulnerabilities identified in the target application.<br />

Netsparker can download files on the system and can access the source code of the application.<br />

Figure 58: Local File Inclusion Vulnerability in Issues Panel<br />

After an issue of Local File Inclusion type is selected from the Issue list, you can click the Open LFI<br />

Exploitation button to access the panel that will enable you to read files on the system and access<br />

source code of the application.<br />

Figure 59: LFI Exploitation Question<br />

It is possible to download some known files automatically from the target system.<br />

Figure 60: Download Files<br />

Even if you did not select automatic download, you can use the Download button to re-download<br />

known files on the system and source code of the application.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Exploitation<br />

56<br />

Figure 61: LFI Exploation Downloaded File View<br />

You can also type the file name manually and download a file that you know exists on the system in<br />

the LFI Exploitation panel. After you click the Download button, you can see contents of the file in<br />

question when the download is complete.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Support<br />

57<br />

Getting Support<br />

Netsparker has a pretty and easy-to-use interface which makes it possible for someone to run a new<br />

scan without a guide.<br />

By keeping an eye on the Netsparker blog - http://www.mavitunasecurity.com/blog/ , you can access<br />

tips & tricks and latest news about Netsparker.<br />

Get in touch with us<br />

We are fanatical about support. You can contact us by email or telephone for any other issue and we<br />

will get back to you as soon as possible.<br />

Email:<br />

support@mavitunasecurity.com<br />

Phone:<br />

+44 845 686 3001 (weekdays between 09:00 and 17:30 GMT<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com


Chapter: Glossary<br />

58<br />

B<br />

Black-box Scanning<br />

Scanning security of a system without having extra privileges on target system, such as an attacker<br />

would do. For a web application, black-box scanning means having no source-code, administrative<br />

account or access to system hardware etc.<br />

F<br />

False-Positive<br />

False-Positive is when you a software reports a vulnerability identified but in fact there is no<br />

vulnerability in the scanned web application. Before Netsparker False-Positives were considered as<br />

mandatory side effect and there was no software that can eliminate false-positives. Netsparker is the<br />

first tool that doesn’t report false-positives.<br />

False-Negative<br />

When a tool misses a vulnerability that actually exist in the application, it’s called as false-negative.<br />

W<br />

Web Application <strong>Security</strong> Scanner<br />

It’s an automated tool designed to find vulnerabilities in web applications.<br />

i This does not include the servers that are connected during a scan process. All hosts referred in your web<br />

application may be accessed while scanning it.<br />

<strong>Mavituna</strong> <strong>Security</strong> <strong>Ltd</strong>. © 2009-2010, all rights reserved.<br />

www.mavitunasecurity.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!