10.02.2013 Views

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

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.

Preventing<br />

vulnerability<br />

caused<br />

by<br />

cross-site<br />

scripting<br />

Cross-site<br />

scripting<br />

refers<br />

to<br />

a<br />

technique<br />

used<br />

to<br />

cause<br />

Web<br />

server<br />

vulnerability<br />

by<br />

embedding<br />

malicious<br />

code<br />

into<br />

the<br />

URLs<br />

of<br />

Web<br />

requests.<br />

<strong>WebSEAL</strong><br />

provides<br />

certain<br />

built-in<br />

protection<br />

<strong>for</strong><br />

this<br />

type<br />

of<br />

vulnerability<br />

and<br />

allows<br />

you<br />

to<br />

further<br />

refine<br />

the<br />

protection<br />

by<br />

configuring<br />

URL<br />

string<br />

filtering.<br />

Note:<br />

The<br />

term<br />

″cross-site<br />

scripting″,<br />

although<br />

accepted<br />

by<br />

the<br />

industry,<br />

does<br />

not<br />

entirely<br />

describe<br />

the<br />

range<br />

of<br />

issues<br />

involving<br />

embedded<br />

malicious<br />

code.<br />

Background<br />

Cross-site<br />

scripting<br />

is<br />

a<br />

specific<br />

type<br />

of<br />

Web<br />

Server<br />

vulnerability<br />

created<br />

when<br />

a<br />

client<br />

URL<br />

request<br />

includes<br />

embedded<br />

malicious<br />

scripting.<br />

For<br />

example<br />

(Javascript):<br />

malicious_code<br />

Other<br />

scripting<br />

tags<br />

that<br />

could<br />

be<br />

used<br />

to<br />

create<br />

vulnerability<br />

include<br />

,<br />

,<br />

and<br />

.<br />

When<br />

a<br />

user<br />

clicks<br />

on<br />

a<br />

link<br />

containing<br />

the<br />

malicious<br />

code<br />

(or<br />

enters<br />

such<br />

a<br />

URL<br />

directly),<br />

the<br />

script<br />

is<br />

executed<br />

when<br />

the<br />

HTML<br />

is<br />

read<br />

by<br />

the<br />

user’s<br />

browser.<br />

For<br />

example,<br />

an<br />

attack<br />

can<br />

occur<br />

when<br />

a<br />

user<br />

clicks<br />

on<br />

a<br />

link<br />

that<br />

contains<br />

the<br />

following<br />

URL:<br />

https:///malicious_code<br />

In<br />

this<br />

example,<br />

the<br />

object<br />

is<br />

not<br />

found<br />

and<br />

<strong>WebSEAL</strong><br />

responds<br />

by<br />

returning<br />

a<br />

404<br />

″Page<br />

Not<br />

Found″<br />

HTML<br />

error<br />

page.<br />

This<br />

error<br />

page<br />

happens<br />

to<br />

include<br />

the<br />

URL<br />

containing<br />

the<br />

malicious<br />

Javascript.<br />

The<br />

browser<br />

interprets<br />

the<br />

URL<br />

and<br />

executes<br />

the<br />

script.<br />

Refer<br />

to<br />

the<br />

following<br />

CERT<br />

advisory<br />

<strong>for</strong><br />

complete<br />

in<strong>for</strong>mation<br />

about<br />

the<br />

mechanics<br />

of<br />

cross-site<br />

scripting<br />

and<br />

general<br />

preventative<br />

measures:<br />

http://www.cert.org/advisories/CA-2000-02.html<br />

Configuring<br />

URL<br />

string<br />

filtering<br />

The<br />

problem<br />

of<br />

cross<br />

site<br />

scripting—and<br />

embedded<br />

malicious<br />

code<br />

in<br />

general—is<br />

handled<br />

in<br />

two<br />

ways.<br />

<strong>WebSEAL</strong><br />

encodes<br />

angle<br />

brackets<br />

(<<br />

>)<br />

in<br />

re-directed<br />

URLs.<br />

The<br />

encoding<br />

can<br />

help<br />

prevent<br />

normal<br />

interpretation<br />

of<br />

scripts<br />

by<br />

the<br />

browser.<br />

You<br />

can<br />

define<br />

string<br />

patterns<br />

to<br />

be<br />

illegal<br />

by<br />

adding<br />

entries<br />

to<br />

the<br />

[illegal-url-substrings]<br />

stanza<br />

in<br />

the<br />

<strong>WebSEAL</strong><br />

configuration<br />

file.<br />

For<br />

example:<br />

[illegal-url-substrings]<br />

substring<br />

=<br />

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

Saved successfully!

Ooh no, something went wrong!