扫码领资料
获网安教程
免费&进群
项目地址:https://gitee.com/project_team/Tmall_demo.git
项目基于springboot结构非常简单,修改application.properties数据库配置文件,之后运行TmallSpringBootApplication
在使用高版本mysql时,登录会报如下错误
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'tmalldemodb.category.category_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因是因为在mysql 5.7+中 默认启用了 ONLY_FULL_GROUP_BY ,大概就是一种严谨的SQL模式,类似于Oracel那些Group by语句,就是你查询那些字段,group by的时候也要写上哪些字段。
运行该sql语句设置,如果未设置成功,需要更改为低版本mysql(5.7版本)
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
之后重启一下sprignboot即可正常登录
先直接看一下fliter,发现是用contains来判断url该不该放行,所以我们只需要构造类似/admin/login/../../xxx
这种即可绕过filter
再去找一处接口验证,发现一处文件上传接口,并未做任何限制,构造请求
成功上传
访问也OK
这里也有一处
数据库框架为Mybatis所以我们只需要关注$即可,全局搜索$,之后定位到同名的dao文件
继续跟进,
继续跟进
发现第一处调用,但是不可控,跳过
第二处调用,很明显可控参数
构造一下
sqlmap也可以出结果
和先前流程一样,跟进查看调用
最终在admin/order
处发现调用,并且orderUtil可控
其他地方还有三四处,暂时不跟了。
组件看了一下,咋全是新版本
用于练手还是相当不错,如有问题,感谢各位师傅指正。
文件上传:限制保存文件的目录的权限
SQL注入:对传入的数据进行严格检查
来源:https://xz.aliyun.com/t/12479
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
(hack视频资料及工具)
(部分展示)
往期推荐
【精选】SRC快速入门+上分小秘籍+实战指南
爬取免费代理,拥有自己的代理池
漏洞挖掘|密码找回中的套路
渗透测试岗位面试题(重点:渗透思路)
漏洞挖掘 | 通用型漏洞挖掘思路技巧
干货|列了几种均能过安全狗的方法!
一名大学生的黑客成长史到入狱的自述
攻防演练|红队手段之将蓝队逼到关站!
巧用FOFA挖到你的第一个漏洞