19.09.2017 Views

the-web-application-hackers-handbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

56 Chapter 3 n Web Application Technologies<br />

To implement <strong>the</strong> functionality <strong>the</strong>y need, <strong>web</strong> <strong>application</strong>s may incorporate<br />

user-supplied input into SQL queries that are executed by <strong>the</strong> back-end database.<br />

If this process is not carried out safely, attackers may be able to submit<br />

malicious input to interfere with <strong>the</strong> database and potentially read and write<br />

sensitive data. These attacks are described in Chapter 9, along with detailed<br />

explanations of <strong>the</strong> SQL language and how it can be used.<br />

XML<br />

Extensible Markup Language (XML) is a specification for encoding data in a<br />

machine-readable form. Like any markup language, <strong>the</strong> XML format separates<br />

a document into content (which is data) and markup (which annotates<br />

<strong>the</strong> data).<br />

Markup is primarily represented using tags, which may be start tags, end<br />

tags, or empty-element tags:<br />

<br />

<br />

<br />

Start and end tags are paired into elements and may encapsulate document<br />

content or child elements:<br />

ginger<br />

spotpaws<br />

Tags may include attributes, which are name/value pairs:<br />

...<br />

XML is extensible in that it allows arbitrary tag and attribute names. XML<br />

documents often include a Document Type Definition (DTD), which defines<br />

<strong>the</strong> tags and attributes used in <strong>the</strong> documents and <strong>the</strong> ways in which <strong>the</strong>y can<br />

be combined.<br />

XML and technologies derived from it are used extensively in <strong>web</strong> <strong>application</strong>s,<br />

on both <strong>the</strong> server and client side, as described in later sections of this<br />

chapter.<br />

Web Services<br />

Although this book covers <strong>web</strong> <strong>application</strong> hacking, many of <strong>the</strong> vulnerabilities<br />

described are equally applicable to <strong>web</strong> services. In fact, many <strong>application</strong>s are<br />

essentially a GUI front-end to a set of back-end <strong>web</strong> services.

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

Saved successfully!

Ooh no, something went wrong!