SQL注入
例:在数据库访问层中使用“+”来拼接SQL语句!如:
解决方案:
自己写jdbc连接:
如果项目中使用了Hibernate框架,则推荐使用named parameter。如:
项目中具体体现
XSS
保存数据时未检测包含js或html代码,照成数据被读取并加载到页面时,会触发执行js或html代码。
样例:
通过文本框填入<img onerror="alert(1)" src="">
然后再列表展示的时候就会弹出窗口提示1
解决:
通过过滤器,对请求参数中的Value内容进行遍历,将<和>转义为<和>。
输入过滤,输出转义。
信息泄漏
请求列表信息和请求单个明细信息,如果包含密码字段,记得返回前添加处理:不返回密码或者密码字段脱密,用***代替。
登录限制绕过,验证码不会失效
1、登录的时候,请求重发,验证码不会失效
2、密码错误,会有登录次数限制
全局越权
需要对path,API等都做权限效验,对于无权限效验的API要格外谨慎,特别是文件上传之类的
攻击者可以直接读取服务器文件,可导致严重敏感信息泄漏。
修复建议:
对url、atn等参数值进行合规检查,不可完全信任前端提交的参数值。过滤敏感路径,且对路径进行拦截。
解决办法
在拦截器中判断是否是从系统内发起请求,如果不是则跳转400页面
任意文件读取
修复建议:
对url、atn等参数值进行合规检查,不可完全信任前端提交的参数值。过滤敏感路径,且对路径进行拦截。
敏感信息泄漏
通过报错信息可以获取到网站物理路径、数据库结构等敏感信息。
修复建议:
后端屏蔽报错信息。或者对错误信息进行转化。
解决办法
本文由 admin 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:2022-08-09 23:01:17