2020/4/22手工挖洞_用户枚举+任意用户密码重置
Posted tntbomb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020/4/22手工挖洞_用户枚举+任意用户密码重置相关的知识,希望对你有一定的参考价值。
用户枚举+任意用户密码重置
0x00 前言
看了很多关于挖洞的文章,也复现了些已有的漏洞和做了一些CTF赛题。
想找些网站练练手。忽然间就想到了我们学校实验室的企业网站。
0x01 测试
首先,打开网站找到登录界面。找到注册入口。
输入我的手机号,下面提示,发现该账号已经被注册了。(这里便引发了我的一个思考:因为手机号都是11位的,所以可以枚举所有用户。)
然后我尝试获取验证码,发现在账号被注册的情况下是无法获取验证码的。通过修改html标签,将获取验证码改为可点击。不一会手机便收到了验证码消息。
这里我尝试了多次短信重发,发现服务端对账户短信重发时间做了限制。(说明不可以做短信轰炸机)
现在测试一下密码重置功能。
发现密码可以通过短信重置(测试这里是否可以做短信轰炸机)。
密码重置联想到是否可以引发任意用户密码重置呢?
密码重置的POST请求参数为opcode 加密后的验证码,newPassword新密码,account手机号。
newPassword和md5加密后的我输入的密码值一样。也就是说newPassword是md5加密的。
在md5上加密一个新的密码,将newPassword的字段替换为加密后的字段。发送到服务器。
服务器返回了修改成功的json数据格式。
我使用修改的密码登录。发现第二次发送的包成功修改了第一次的密码。(这说明opcode并没有被摧毁)。
然而这只能做到单个用户的密码修改。
现在尝试替换掉account的账号。
发送POST请求。返回失败。
这样貌似就结束了???
0x02 峰回路转
按照流程我又走了一遍。发现事情并不那么简单。
在第二次中,我先改了account。发送POST数据包,居然修改成功了。??????
什么鬼?当时就懵逼了。
我又再发送了一次。返回又失败了。???
what???玩我呢。
老老实实流程又走了一遍。发现这个opcode是有时限的。
这样这个用户枚举+任意用户密码重置的漏洞就出来了。
0x03 总结
第一次挖到漏洞的那种兴奋劲儿可以说是很爽很爽,忘了写个payload。哈哈。
这次是在账户的登录注册上下了功夫。
特别注意的一点就是验证码可能具有时效性。在测试的时候要特别注意。
关于漏洞的处理。查阅了很多。
(1)漏洞盒子提交src。公益的没钱。
(2)提交给对应公司或对应服务部门。(前提:没做什么太大的破坏。谨慎。可以参考挖世纪佳缘的白帽子被抓。)(有钱没钱看对应公司,不要要挟。)
(3)通用性漏洞提交cnvd。(通用性:cms,学校,政府用的模板。提供10个对应漏洞的网站,可以得到一个原创性漏洞证明)
以上是关于2020/4/22手工挖洞_用户枚举+任意用户密码重置的主要内容,如果未能解决你的问题,请参考以下文章