今天继续给大家介绍渗透测试相关知识,本文主要内容是登录处cookie验证逻辑漏洞。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
一、熊海CMS登陆处逻辑漏洞实战
熊海CMS登录处页面如下所示:
在正确输入用户名和密码登录后,页面如下所示:
然而,此时我们可以看到,在登录后的cookie中,含有一个user的变量,该变量的值为登录后的用户名,并且之后对页面的所有操作,都是会在cookie中,携带有这个cookie变量,如下所示:
针对上述机制,我们想到,如果我们直接访问登录后的页面,但是携带有user的cookie,那么是否能够正常访问呢?
因此,我们使用火狐浏览器,借助HachBar,直接访问登录后的页面,如下所示:
但是在访问页面前,我们添加user=admin的cookie信息,如下所示:
发送数据包后,就可以绕过登录环节,直接登录系统了。
二、熊海CMS登录处逻辑漏洞分析
接下来,让我们从源码的角度,对熊海CMS的登录验证逻辑进行分析,进而从源码的角度明确漏洞产生原因。
熊海CMS admin目录下index.php文件如下所示:
从上图可以看出,index.php文件根据GET输入的r参数来确定跳转的页面,如果没有r参数,则自动跳转index.php的页面。
我们查看登录处login.php文件,如下所示:
从上图中可以看出,login.php文件中就是正常的链接数据库,然后身份验证的相关逻辑。
接下来,我们查看登录后的index.php,页面源代码如下所示:
发现在源代码中,包含一个checklogin.php,这个文件就是用于验证用户是否登录的脚本代码文件。
接下来,我们查看以下checklogin.php文件中的内容,如下所示:
可以发现该文件检验是否成功登录的逻辑在于用户是否以cookie的方式提交user变量,如果提交了,就认为用户已经登录;如果没有提交,则认为用户没有登录,然后返回登录页面。因此,熊海CMS在登录验证处存在cookie验证的脆弱逻辑漏洞,我们可以根据这一漏洞绕过登录环节,直接登录熊海CMS。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200