目录
1、什么是respone状态值?
2、利用原理
3、PHPYUN人才招聘系统靶场演示
今天还是继续学习逻辑漏洞相关的知识,今天的主题是“修改Response状态值导致的逻辑漏洞”,今天的内容还是参考别的大佬总结好的,我只是在这里进行学习+练习
1、什么是respone状态值?
Response状态值,就是在服务器发送某个密码重置的凭据之后,出现特定的响应值(ture,1,ok,success等等,例如响应头中的HTTP/1.1 200 ok)
相信各位小伙伴都已经很熟悉了,但是这里还是赘述一下常见的状态码:
- 信息响应。100到199,表示服务器已收到请求的第一部分,正在等待其余部分。
- 成功响应。200到299,表示请求已成功,服务器提供了请求的网页。
- 重定向响应。300到399,表示请求的资源已发生变化,需要客户端重新访问新的地址。
- 客户端错误响应。400到499,表示请求有问题,是客户端的责任。
- 服务器错误响应。500到599,表示请求无法处理,是服务器的责任。
2、利用原理
在进行登录或者其他操作是,我们对数据包进行抓包,然后对Response状态值修改后,如果存在校验不严(存在逻辑漏洞),并且回显值得校验是在客户端进行,就能使相关操作成功被执行;
就像密码重置中的验证码问题,如果回显值的校验是发送到客户端进行,通过对校验值得使用规则进行分析后,抓包将Response状态值改为正确得,然后放包,从而达到重置密码得效果;
也就是说,可以成功的条件必须是页面检验的方式是前端验证才能绕过,如果是后端验证,那么你就算修改成正确的也无法验证成功,也就是说需要根据具体的验证情况进行绕过。
3、PHPYUN人才招聘系统靶场演示
下面使用PHPYUN人才招聘系统作为靶场来进行一个实操演示
源码下载链接:网上不好找,想要的可以私信我
直接访问下列url安装即可
安装完成后登录到后台管理页面,然后进行管理员信息编辑:
安装完成后登录到后台:
然后我注册了一个名为test123的用户密码也是test123
然后在登录的时候进行抓包,然后重放发现正确的账号密码输出如下:
错误的密码输出如下:
那么我们就可以尝试在输入错误的账号密码的同时,抓响应包修改响应包中的内容:
就可以看到成功的通过修改response内容成功的登录了
注:这里其实是有cookie的,真是场景是拿不到的,有点属于自欺欺人,但是就是通过这个例子学习了一下修改response状态码的一种逻辑漏洞的思路哈 ̄□ ̄
不管怎样,关于response状态码修改的逻辑漏洞也算是学习了,后面有更好的案例和其他逻辑漏洞相关的知识和技能也会分享给大家的(*^▽^*)