#### 认证绕过漏洞
可以通过两种方式实现认证绕过:
第一种是.cab方式,cab格式文件是视频播放器插件,存储在web的根目录下,它可以无需验证直接被访问和下载,而设备端只是通过strstr函数查找链接中是否存在.cab字段,如果含有就直接认为免认证。
第二种是nobody方法,同样由于设备端只是通过strstr函数去查找链接中是否存在nobody字段,如果有就直接免认证。
两种方式的链接可以如下,.cab和/nobody可以放在链接中的其他地方,获取设备的配置信息,其中包括登录的用户名和密码。
```
http://<device_ip>/cgi-bin/user/Config.cgi?.cab&action=get&category=Account.*
http://<device_ip>/cgi-bin/user/Config.cgi?/nobody&action=get&category=Account.*
```

#### 登录验证码绕过
设备在登录时通过增加验证码方式防止暴力猜解用户名和密码,但是由于系统设计的不合理,可以通过增加login=quick直接绕过。
链接格式如下:
```
http://<device_ip>/cgi-bin/nobody/VerifyCode.cgi?account=<b64(username:password)>&login=quick
```
如果没有采用quick方式的话,链接的格式如下:
```
http://<device_ip>/cgi-bin/nobody/VerifyCode.cgi?account=<b64(username:password)>&captcha_code=ZVFU&verify_code=ZVmHTLN5eiGB
```
由于`captcha_code`和`verify_code`是配套的,我们可以通过人工设置使他们保持一致同样可以绕过验证码验证,从而暴力猜解用户名和密码。
#### 其他安全漏洞
**第一个**:使用没有认证证书的Https服务。系统中的`SyncCloudAccount.sh`,`QueryFromClient.sh`和`SyncPermit.sh`使用wget去访问https网站,如https://payment.eagleeyes.tw 等。由于没有证书验证,此https通信可能遭受中间人攻击。
**第二个**:密码明文存储。容易被攻击轻易获取所有的用户登录密码等敏感信息。
**第三个**:CSRF漏洞。设备没有任何防CSRF攻击的措施,当管理员正登录时,可能受到CSRF攻击。
暂无评论