看了师傅们的代码审计文章,感觉自己也行了,也去gitee上找源码进行漏洞挖掘,结果找到了个公共案例,焯!
1、后台SQL注入
SQL注入的审计:全局搜索关键字${、like、order by、in原因是:
(1)${}是字符串替换,假如用${}来编写SQL会出现:恶意SQL注入,对于数据库的数据安全性就没办法保证了
(2)like、order by、in:Mybatis框架下”${xxx}”这样格式的参数会直接参与SQL语句的编译,易产生SQL注入漏洞
全局搜索“LIKE”,在数据连接层上出现了直接拼接的情况变量“pinyin”被直接拼接在SQL语句中。id为“allDirector”
之后在全局搜索“allDirector”发现在控制层”outaddresspaging”接口有直接调用“allDirector”方法。从前端接收过来的参数“alph”被直接传入“allDirector”方法中
漏洞复现:
Poc:
登陆后台
访问:
http://127.0.0.1:8088/outaddresspaging?alph=111%27%20or%20SLEEP(5)%20--
Sqlmap:
2、存储型XSS
主要结合黑盒加白盒方式,还待补充
案例一、本次是全局搜索“@RequestMapping”偶然发现。
可以看见将“concent”没有过滤,先进行了输出,然后利用save方法进行保存。先进行输出造成了反射型xss,保存之后造成了存储型XSS。
漏洞复现:
案例二、本次是全局搜索“@RequestMapping”偶然发现。
rename接口是处理“修改文件名字的业务”,一起来怎么处理的。
该接口接收参数“name”直接传入rename中,紧接着查看rename方法,在rename中可以看出,在获取这个文件的相关信息之后,就调用save对名字进行保存,导致存储型xss。
漏洞复现:
修改上传的文件名字:
总结:
还是得继续学习,太菜了!