This vulnerability (with proof of concept (PoC) code) affects DVR/NVR devices built using the HiSilicon hi3520d and similar system on a chip (SoC).
Exploiting the vulnerabilities lead to unauthorized remote code execution (RCE) using only the web interface, causing full takeover of the exploited device
Severity: high
Fingerprint: 321975614123c6c05f83e99bf30ea5eb22cca46022cca46022cca46022cca460
Found HiSiliconDVR firmware: Hardware: General AHB7008T-MHV2 Vulnerable to multiple issues : LFI, possibly RCE
Open service 118.232.132.21:80
2024-09-27 20:04
HTTP/1.1 200 OK Date: Fri, 27 Sep 2024 19:57:47 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-25 20:16
HTTP/1.1 200 OK Date: Wed, 25 Sep 2024 20:09:37 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-23 20:21
HTTP/1.1 200 OK Date: Mon, 23 Sep 2024 20:14:28 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-15 20:24
HTTP/1.1 200 OK Date: Sun, 15 Sep 2024 20:17:37 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-13 20:18
HTTP/1.1 200 OK Date: Fri, 13 Sep 2024 20:12:29 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-11 21:47
HTTP/1.1 200 OK Date: Wed, 11 Sep 2024 21:41:38 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-09 20:59
HTTP/1.1 200 OK Date: Mon, 09 Sep 2024 20:52:45 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->
Open service 118.232.132.21:80
2024-09-07 21:05
HTTP/1.1 200 OK Date: Sat, 07 Sep 2024 20:59:38 GMT Last-Modified: Mon, 04 Sep 2023 12:25:41 GMT Etag: "64f5ccc5.11434" Content-Type: text/html Content-Length: 11434 Connection: close Accept-Ranges: bytes X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN x-xss-protection: 1; mode=block <!DOCTYPE html> <html> <head> <script> /** * 防止浏览器缓存导致登录页的js文件加载失败 * 如果url中没有参数则为url上加上一个随机数重新加载,需要过滤cloud方式登录 * @return {[type]} [description] */ (function(){ var href = window.location.href; var ran = Math.round(Math.random() * 1000000000000); if (-1 === href.indexOf('?')){ window.location.href = href + '?_=' + ran; } else if (-1 === href.indexOf('_=') && -1 === href.indexOf('/?')){ window.location.href = href + '&_=' + ran; } })(); </script> <meta http-equiv="X-UA-Compatible" content="edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="favicon.ico" itemprop="image" /> <link rel="stylesheet" href="/style/plugins/jquery-ui.min_6389365.css" type="text/css" /> <link rel="stylesheet" href="/style/index_99cbe1e.css" /> <link rel="stylesheet" href="/style/background-color_eebe571.css" type="text/css" /> <title data-text="Text.VideoManageSystem"></title> </head> <body id="login_body" class="login_min_height_width"> <div class="pluginTip" id="pluginTip"> <div class="pluginVersionTip" id="pluginVersionTip" data-title="Text.TipDbClickClose3"></div> </div> <div class="login_fullPage login_min_height_width"> <div class="login_placeHolder"> <div class="login_minHeight"></div> </div> <div class="login_form"> <div class="login_header"> <div class="logo" style="background-image: url(/images/logo.png);"></div> <span class="device-type"></span> </div> <form action="cgi-bin/main-cgi" method="post" name="loginForm" id="loginForm"> <table class="login_table"> <tr class="login_line"> <td id="ErrorMsg" class="login_msg" colspan="2"> <span id="idErrorMsg"></span> <span id="idErrorInfo"></span> </td> <td class="login_right"> <select class="lanSlect" name="lLan" id="language"> </select> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserName' data-text="Text.UserName"></label> </div> </td> <td class="login_right"> <input type="text" class="in_text" name="szUserName" id="szUserName" autocomplete="off" /> </td> </tr> <tr class="login_line all_login_hidden"> <td class="login_left"> <div class="login_label_div"> <label class="login_label" for='szUserLoginCert' data-text="Text.Passwd"></label> </div> </td> <td class="login_right"> <input type=password class="in_text nor-submit-pwd" id="szUserPasswdSrc" maxlength="32" value="" autocomplete="off" /> <input type="hidden" name="szUserLoginCert" id="szUserLoginCert" /> <!-- <input type="hidden" name="szUserLoginCertEx" id="szUserLoginCertEx" /> -->