MENU

记一个网站App开发时不严谨导致的逻辑漏洞,导致服务器Getshell

January 10, 2019 • 技术文章

前段时间遇到的一个站,Web端查看没啥严重问题,换到手机端查看的时候,发现了个逻辑问题

/完整内容已更新/

手机端重置密码分三步

*第一步输入单位和账号
*第二步收短信验证码
*第三步输入新密码

乍一看没问题,然后抓包的时候发现第三步修改密码,是直接post了用户ID、密码和手机号到服务端,没有校验第二步的验证码,后来发现手机号随便传一个都可以,不是用户绑定的密保手机都没问题

如下所示

1.png

uid=用户ID&password=新密码&rePassword=重复输入新密码&mobile=任意手机号

通过这个漏洞直接重置了管理员账号,进入后台以后在全局设置中允许图片上传的格式加上php

2.png

然后上传图片抓包拿到了上传的地址,理论上这样就已经Getshell了,然后折腾了半天,发现php死活不解析,最后发现是服务器端Apache做了限制,默认上传后返回的链接地址是 http://pic.test.com/upload/xxx.php ,pic 域名只允许访问upload目录下内容并且不解析php文件,手动尝试改成 http://www.test.com/upload/xxx.php 就可以访问了。。。

3.png

Last Modified: June 15, 2019