项目是一套电商系统,包括 商城前台系统及商城后台系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页登录、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
任意用户登录
漏洞产生的原因是代码中,用户身份认证不严,从前端取值userid,然后未判断userid是否为当前用户,使用userid为主键去查询数据库是否存在该用户,若存在,则修改,所以导致漏洞产生。
如下图,传入mallUser实体和httpsession
跟进updateuserinfo方法,第74行代码是从http会话中获取用户信息,但是第75行又是取userid,并未判断是否为当前用户
把userid换成数据库中已经存在的5,如下
重新刷新数据库,可以看到数据已经被修改了
任意订单状态修改
漏洞产生的原因是代码中,跟进type来判断订单是否支付。0是未支付,1是已支付
根据订单号查询订单是否存在,若存在,则修改状态
使用burp抓包测试
成功修改了订单的状态
任意文件上传
代码中存在文件上传功能,但是未对上传文件名进行校验,最后直接调用transferTo对文件进行保存。如下
xss
代码中未对前端传入的数据进行xss防护,导致数据插入到数据库,在查询模块恶意数据查询出来在浏览器执行,从而触发xss
跟进service层,可以看到代码中未对数据进行xss防护
来到数据查询模块,则被查询出来的恶意数据经过浏览器执行后,会触发xss
使用burp对商品名称插入payload
可以看到弹出了alert(1)
swagger-ui未授权访问
打开web页面进行访问
csrf
代码中没有对请求进行 CSRF 防护,攻击者可以伪造一个请求,诱导用户修改密码
可以看到请求包未做任何csrf防护校验
验证码复用
用户登录模块的验证码在失效后,没有从session中删除,那么下次请求,则还是上次的验证码
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)