29.11.2012 Views

2nd USENIX Conference on Web Application Development ...

2nd USENIX Conference on Web Application Development ...

2nd USENIX Conference on Web Application Development ...

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.

0 2 4 6 8 10<br />

0 1 2 3<br />

Team<br />

Number<br />

Language Vulnerable? Framework<br />

Support<br />

CSRF Sessi<strong>on</strong> Management Password Storage<br />

Vulnerable? Framework<br />

Support<br />

Vulnerable? Framework<br />

Support<br />

1 Perl • n<strong>on</strong>e opt-in • opt-in<br />

2 Perl • n<strong>on</strong>e • n<strong>on</strong>e • n<strong>on</strong>e<br />

5 Perl • n<strong>on</strong>e • n<strong>on</strong>e opt-out<br />

3 Java manual opt-out • n<strong>on</strong>e<br />

4 Java always <strong>on</strong> opt-in • opt-in<br />

9 Java • n<strong>on</strong>e opt-in n<strong>on</strong>e<br />

6 PHP • n<strong>on</strong>e opt-out • opt-in<br />

7 PHP • n<strong>on</strong>e opt-out • n<strong>on</strong>e<br />

8 PHP • n<strong>on</strong>e opt-out • opt-in<br />

Table 5: Presence or absence of binary vulnerability classes, and framework support for preventing them.<br />

Stored XSS<br />

Java 3 Java 4 Java 9 PHP 6 PHP 7 PHP 8 Perl 1 Perl 2 Perl 5<br />

Manual Both<br />

Black-box<br />

SQL Injecti<strong>on</strong><br />

Java 3 Java 4 Java 9 PHP 6 PHP 7 PHP 8 Perl 1 Perl 2 Perl 5<br />

Manual Both<br />

Black-box<br />

SQL injecti<strong>on</strong>. Very few SQL injecti<strong>on</strong> vulnerabilities<br />

were found. Only two implementati<strong>on</strong>s had any such<br />

vulnerabilities, and <strong>on</strong>ly 4 were found in total. The difference<br />

between languages is not statistically significant<br />

(F =0.70, p =0.5330).<br />

Authenticati<strong>on</strong> and authorizati<strong>on</strong> bypass. No such<br />

vulnerabilities were found in 5 of the 9 implementati<strong>on</strong>s.<br />

Each of the other 4 had <strong>on</strong>ly 1 or 2 such vulnerabilities.<br />

The difference between languages is not statistically significant<br />

(F =0.17, p =0.8503).<br />

Figure 2: Vulnerabilities by vulnerability class.<br />

106 <strong>Web</strong>Apps ’11: <str<strong>on</strong>g>2nd</str<strong>on</strong>g> <str<strong>on</strong>g>USENIX</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Web</strong> Applicati<strong>on</strong> <strong>Development</strong> <str<strong>on</strong>g>USENIX</str<strong>on</strong>g> Associati<strong>on</strong><br />

0 5 10 15 20<br />

0 1 2<br />

Reflected XSS<br />

Java 3 Java 4 Java 9 PHP 6 PHP 7 PHP 8 Perl 1 Perl 2 Perl 5<br />

Manual Both<br />

Black-box<br />

Authenticati<strong>on</strong>/Authorizati<strong>on</strong> Bypass<br />

Java 3 Java 4 Java 9 PHP 6 PHP 7 PHP 8 Perl 1 Perl 2 Perl 5<br />

Manual Both<br />

Black-box<br />

CSRF. As seen in Table 5, all of the PHP and Perl<br />

implementati<strong>on</strong>s, and 1 of 3 Java implementati<strong>on</strong>s were<br />

vulnerable to CSRF attacks. Fisher’s exact test reveals<br />

that the difference between languages is not statistically<br />

significant (p =0.25).<br />

Sessi<strong>on</strong> management. All implementati<strong>on</strong>s other than<br />

2 of the 3 Perl implementati<strong>on</strong>s were found to implement<br />

secure sessi<strong>on</strong> management. That is, the Perl implementati<strong>on</strong>s<br />

were the <strong>on</strong>ly <strong>on</strong>es with vulnerable sessi<strong>on</strong> management.<br />

Fisher’s exact test reveals that the difference is<br />

not statistically significant (p =0.25).

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

Saved successfully!

Ooh no, something went wrong!