Questions about this topic? Sign up to ask in the talk tab.

Web Exploitation

From NetSec
Revision as of 11:38, 10 November 2011 by LashawnSeccombe (Talk | contribs) (Types of Exploitation)

Jump to: navigation, search

Introduction

Web exploitation is the attacking and taking advantage of a vulnerability in a computer system through a web application. There are numerous ways to exploit vulnerabilities so only some of the basics will be covered here. The topics covered in this series can be dangerous enough to compromize an HTTP server's database, code, or allow a remote shell.

Many web sites run web applications for the purpose of dynamic content. Usually this would include an SQL database backend of some sort, and a web application (like forums, talkboards, content management systems, and blogs) to interface with the SQL database. Therefore the affected languages are anything that can be used as an interface over HTTP to dynamic content.

When penetration testing a site, it is different than penetration testing a network, and different than penetration testing a server. However, it is good to point out, that by compromising one of these layers, the other layers can be compromised in the future. Web application vulnerabilities are currently the most prominent vulnerabilities exploited by cybercriminals.

RPU0j.png Exploiting these vulnerabilities against targets which you do not own without written authorization could criminalize you in many countries and most likely the one you live in.

Affected Languages

RPU0j.png Any CGI interfaced language may also be vulnerable to web exploitation.

Types of Exploitation

c3el4.png XSS can be used to capture logins and sessions or a page redirect if a user clicks a malicious link.
c3el4.png SQL injection can be used to copy, modify, or delete the affected application's database, and in some cases create a remote shell on the affected system.
c3el4.png File inclusion vulnerabilities can be exploited to create a remote shell, which can lead to database manipulation and file tampering.
c3el4.png Command injection effectively hands a remote shell to an attacker by arbitrary bash or ms-dos command execution.
c3el4.png CSRF allows an attacker to perform actions as any unsuspecting user that clicks a link or loads a page on a separate domain from the affected site while logged into the affected site.
c3el4.png XSCF Sends different data to different hosts. This way, if a piece of malware is able to recognize the source machine as something analyzing it, the malware can return something innocent while normal users are directed to something malicious.
c3el4.png XSRF is using XSS to produce a same-domain URL that will perform actions as the logged in user
c3el4.png Mass assignment abuse can allow an attacker to directly overwrite database values without having to write any SQL queries and without the use of SQL injection.

Attack Vectors

  • HTTP GET request parameters (Variables in the URL)
    Notice: Rewritten or "clean" URL's can have GET parameters too! HTTP HEAD requests can also exploit poor input sanitizing in these parameters.
  • HTTP POST request parameters (Fields and fieldsets in web forms)
    Notice: You can send post parameters to a URL that has GET parameters!
  • HTTP Header parameters (Variables passed by header information)
    Notice: This includes cookies, user agents, connection type, and more

Tools



Web Exploitation
is part of a series on

Web applications

Visit the Web applications Portal for complete coverage.