novel-plus代码审计 爬虫和前台部分

novel-plus代码审计
环境搭建
工具:idea+小皮面板
使用maven阿里源进行打包,全文搜索6379,修改redis密码,创建数据库novel_plus,修改数据库root用户密码为test123456(数据库方面需要修改的地方比较多,这样会简便很多),运行doc/sql下面的novel-plus.sql即可,直接运行,分为前台和后台,爬虫系统,端口分别为8083,80 ,8081
注意:可能会出现后台没有进行springboot配置的情况,需要自行配置
在这里插入图片描述
照猫画虎,按照其他两个进行创建即可。完成之后界面如下

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

组件
mybatis 可能存在sql注入,主要是$(写法和like,in位置
jjwt jwt认证,可能出现未授权访问
shiro 可能存在命令执行
springboot框架 可能存在信息泄露

爬虫界面8081端口

登录功能,并未涉及到路由,而是将获取到的用户名密码与application.yml中设置的账号密码进行比对,没有与数据库进行交互
涉及到的insert类型(插入数据),对数据进行了mybatis转义,delete类型(删除功能),传入字符必须为int类型,select类型(页面数据显示)传入的值也需要为int类型

前台界面8083端口
查看mybatis配置文件是否存在 ( 写法在 U s e r M a p p e r . x m l 存在 (写法 在UserMapper.xml存在 (写法在UserMapper.xml存在(写法,查看参数是否可控
在这里插入图片描述
查找addUserBalance方法,发现存在两处
在这里插入图片描述
在这里插入图片描述
在FrontUserMapper类中,传入的参数需要为整型,无法利用
查看addAmount方法,查看声明,在OrderServiceImpl下面的updatePayOrder方法在这里插入图片描述
发现这里的orderpay参数不可控,无法利用

查看功能

登录功能
jwt认证,serct
在这里插入图片描述
这里拿一个登录成功后的jwt举例,

eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MTM2MTkxNjcsInN1YiI6IntcImlkXCI6MTI1NTA2MDMyODMyMjAyNzUyMCxcInVzZXJuYW1lXCI6XCIxMzU2MDQyMTMyNFwiLFwibmlja05hbWVcIjpcIjEzNTYwNDIxMzI0XCJ9IiwiY3JlYXRlZCI6MTcxMzAxNDM2NzMxMH0.3Ql58DqukhIjwB1EFOJPGQ4VitrTfmwOOuLe4wgbYb6FZD-I_gRjbaSVtHmizX7TM7oPerY2EMWPhKz9FJIIoA

在这里插入图片描述
丢到jwt.io里面分析,实际上存在了四个参数id和username,created,secret,其中created时间戳,secret都可以获取到,但是username和id参数则无法获取,id参数本身就是通过用户名密码在数据库中查询进而获取到的,外部无法获取到,虽然修改之后可以达到切换用户的目的,但实际上,一方面获取构造jwt数据难度,另外一方面用户权限都一致,切换成其他用户也没啥作用

  • 27
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值