0x01 等保测评项

GBT 22239-2019《信息安全技术 网络安全等级保护基本要求》中,8.1.4安全计算环境—身份鉴别项中要求包括:
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,并其中一种鉴别技术至少应使用密码技术来实现。
登录功能设计缺陷对应身份鉴别项中要求a),所以安全控制点为身份鉴别a
GBT 28448-2019《信息安全技术 网络安全等级保护测评要求》中,测评单元(L3-CES1-01) 该测评单元包括以下要求: 
a)测评指标:应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
b)测评对象:终端和服务器等设备中的操作系统(包括宿主机和虚拟机操作系统)、网络设备(包括虚拟网络设备)、安全设备(包括虚拟安全设备)、移动终端、移动终端管理系统、移动终端管理客户端、感知节点设备、网关节点设备、控制设备、业务应用系统、数据库管理系统、中间件和系统管理软件及系统设计文档等。
c)测评实施包括以下内容: 
1)应核查用户在登录时是否采用了身份鉴别措施; 
2)应核查用户列表确认用户身份标识是否具有唯一性;
3)应核查用户配置信息或测试验证是否不存在空口令用户; 
4)应核查用户鉴别信息是否具有复杂度要求并定期更换。 
登录功能设计缺
陷属于测评单元(L3-CES1-01)中测评实施的第1项,故定测评单元为
L3-CES1-01.1

0x02 测试内容

测试系统登录功能是否存在修改请求包、返回包等方式绕过前台用户名、绕过密码验证,直接进入系统。

0x03 漏洞原理

登录页面有多个功能点,验证码、忘记密码、注册、用户名、密码、URL地址等,这些点都能进行渗透。
根据登录页面的功能点不同,登录页面的渗透思路也很多。
等保测评项中对登录功能设计的要求是:应核查用户在登录时是否采用了身份鉴别措施。所以测试“任意用户登录、修改返回包/请求包绕过逻辑判断”这几项即可。
由于对登录的账号及密码的校验存在逻辑缺陷,或再次使用服务器端返回的相关参数作为最终登录凭证,导致可绕过登录限制,如服务器返回某个参数作为登录是否成功的标准,但是由于代码最后登录是否成功是通过获取这个flag参数来作为最终的验证,导致攻击者能够通过修改flag参数绕过登录的校验。
有的通过修改返回包是可以正常登录其他账号的,比如使用admin账号进行登录,修改返回包后可以正常登录到系统,正常使用系统功能。有的可以正常登录,也可以查看到相关的功能,但是没有权限查看到相关的数据,可以分析数据包字段内容,进行修改有可能获取到数据。
挖掘思路:
通过修改返回包的状态码可查看到系统功能,更改数据包的参数值达到未授权获取数据。

0x04 代码示例

以熊海CMS为例。 熊海CMS admin目录下的index.php文件中,根据GET输入的r参数确定跳转的页面,如果没有r参数,就会自动跳转index.php的页面。
login.php文件是正常的链接数据库、身份验证的相关逻辑。
登录后的index.php文件中包含checklogin.php文件,这个文件是用于验证用户是否登录的脚本代码文件。
checklogin.php文件检验是否成功登录的逻辑在于用户是否以cookie的方式提交user变量,如果提交了,就认为用户已经登录;如果没有提交,则认为用户没有登录,然后返回登录页面。所以,熊海CMS在登录验证处存在逻辑漏洞,可以根据这个漏洞绕过登录验证,直接登录该CMS。

0x05 测试过程

测试案例1

应用程序未对账户进行严格校验,导致任意用户登录。登录地址为https://xxx.com/login.php?user=,直接将user参数值改为admin。
无需密码及相关验证,直接登录admin账户。

测试案例2

在验证测试过程中,发现此服务器未对登录成功的响应报文进行校验,导致能获取登录成功的响应报文后,就可以通过正确的响应报文实现任意用户登录,导致信息泄漏等风险。先使用正确的用户名、密码登录,同时抓取正确登录的响应包。 发送的请求:
响应的报文:
已获取正确登录的响应报文,只需在下次登录时针对登录请求的响应进行替换即可。
再次登录,随意输入用户名、密码,截取请求包,拦截响应数据。
响应数据:
进行替换即可正常登录。

测试案例3

正常登录该CMS,在登录后的cookie中,有个变量user,该变量值为登录后的用户名,并且之后对页面的所有操作都会在cookie中携带有这个cookie变量。
针对以上验证机制,借助HackBar直接访问登陆后的地址,修改cookie,看看是否能成功登录。
访问前添加user=admin的cookie信息。
发送数据包后,成功绕过验证,使用admin登录系统。

0x06 风险分析

攻击者可以利用该漏洞绕过相关验证,直接登录系统,窃取用户敏感信息

0x07 加固建议

修改验证逻辑,需要做鉴权处理,正常判断值不能仅仅依靠返回值来处理。
E
N
D
知识星球产品及服务
团队内部平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ......
星球分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享
星球知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......
星球网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ......
扫码加入一起学习吧~
继续阅读
阅读原文