可以清楚看到返回数据包中的字典”num” 就是验证码信息。
危害:可以导致批量注册任意用户(一堆僵尸账号)
(3)漏洞2-任意用户密码重置
重置密码验证码直接回显在返回的数据包中,导致任意用户密码可以被重置。
2.任意文件上传测试(1)曲折的用户头像任意文件上传
(正常头像上传)
上传文件没有地址路径回显很尴尬
(phpinfo文件成功上传 后端没有对上传文件后缀名黑名单验证???喵喵喵)
修改上传文件名和文件内容 重新上传成功,但是不知道路径有点尴尬。
后来发现天无绝人之路,可以明显看到用户上传的头像会被重命名,20200306235208248.png这个名字一看,用脚趾头想都知道是按照时间戳来重命名了用户上传的文件。为了方便快捷验证文件上传漏洞,这里用python写了一个工具来跑这个phpinfo();地址,代码也非常简单:
import requests id = 20200306235208248while True: url = "http://www.**************.com/*******/upload/userInfoCover/{}.php".format(id) id += 1r=requests.get(url=url,headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"}) if int(r.status_code)== int(200): print(url) break else: pass跑了大概30分钟找到了phpinfo地址:************.com/****/upload/**************/20200306235314618.php
项目测试时候尽量别上传一句话/webshell免到时候你洗不干净
3.订单支付绕过漏洞(1)APP订单支付绕过
这个漏洞位置主要发生在: 新用户完成初始化注册的时候、完善个人资料,完善个人资料可以获得积200的积分,只要不断完善个人资料就能源源不断获取积分。然后积分可以代替法币来开通会员。