没有合适的资源?快使用搜索试试~ 我知道了~
我们日常开发中,很多小伙伴容易忽视安全漏洞问题,认为只要正常实现业务逻辑就可以了。其实,安全性才是最重要的。本文将跟大家一起学习常见的安全漏洞问题,希望对大家有帮助哈。
资源推荐
资源详情
资源评论
10 种常见的安全漏洞问题
前言
我 们 日 常 开 发 中 , 很 多 小 伙 伴 容 易 忽 视 安 全 漏 洞 问 题 ,
认 为 只 要 正 常 实 现 业 务 逻 辑 就 可 以 了 。 其 实 , 安 全 性 才
是 最 重 要 的 。 本 文 将 跟 大 家 一 起 学 习 常 见 的 安 全 漏 洞 问
题 , 希 望 对 大 家 有 帮 助 哈 。
1. SQL 注入
1.1 什么是 SQL 注入
S Q L 注 入 是 一 种 代 码 注 入 技 术 , 一 般 被 应 用 于 攻 击
w e b 应 用 程 序 。 它 通 过 在 w e b 应 用 接 口 传 入 一 些 特 殊
参 数 字 符 , 来 欺 骗 应 用 服 务 器 , 执 行 恶 意 的 S Q L 命 令 ,
以 达 到 非 法 获 取 系 统 信 息 的 目 的 。 它 目 前 是 黑 客 对 数 据
库 进 行 攻 击 的 最 常 用 手 段 之 一 。
1.2 SQL 注入是如何攻击的
举 个 常 见 的 业 务 场 景 : 在 w e b 表 单 搜 索 框 输 入 员 工 名
字 , 然 后 后 台 查 询 出 对 应 名 字 的 员 工 。
这 种 场 景 下 , 一 般 都 是 前 端 页 面 把 一 个 名 字 参 数 n a m e
传 到 后 台 , 然 后 后 台 通 过 S Q L 把 结 果 查 询 出 来 。
name = "田螺"; //前端传过来的
SQL= "select * from staff where name=" + name; //根 据 前 端 传 过 来 的 name 参数 , 查
询数据库员工表 staff
因 为 S Q L 是 直 接 拼 接 的 , 如 果 我 们 完 全 信 任 前 端 传 的
参 数 的 话 。 假 如 前 端 传 这 么 一 个 参 数 时 ' ' o r ' 1 ' = ' 1 ' ,
S Q L 就 变 成 酱 紫 的 啦 。
select * from staff where name='' or '1'='1';
这 个 S Q L 会 把 所 有 的 员 工 信 息 全 都 查 出 来 了 , 酱 紫 请
求 用 户 已 经 越 权 啦 。 请 求 者 可 以 获 取 所 有 员 工 的 信 息 ,
其 他 用 户 信 息 已 经 暴 露 了 。
1.3 如何预防 SQL 注入问题
1.3.1 使用 #{} 而不是 ${}
在 M y B a t i s 中 , 使 用 # { } 而 不 是 $ { } , 可 以 很 大 程 度 防 止
s q l 注 入 。
★
� 因为#{}是一个参数占位符,对于字符串类型,会自动加上"",其他类型不加。
由于 Mybatis 采用预编译,其后的参数不会再进行 SQL 编译,所以一定程
度上防止 SQL 注入。
� ${}是一个简单的字符串替换,字符串是什么,就会解析成什么,存在 SQL
注入风险。
”
1.3.2 不要暴露一些不必要的日志或者安全信息,比如避免直接响
应一些 sql 异常信息
如 果 S Q L 发 生 异 常 了 , 不 要 把 这 些 信 息 暴 露 响 应 给 用
户 , 可 以 自 定 义 异 常 进 行 响 应 。
1.3.3 不相信任何外部输入参数,过滤参数中含有的一些数据库关
键词
可 以 加 个 参 数 校 验 过 滤 的 方 法 , 过 滤 u n i o n , o r 等 数 据
库 关 键 词 。
1.3.4 适当的权限控制
在 你 查 询 信 息 时 , 先 校 验 下 当 前 用 户 是 否 有 这 个 权 限 。
比 如 说 , 实 现 代 码 的 时 候 , 可 以 让 用 户 多 传 一 个 企 业 i d
什 么 的 , 或 者 获 取 当 前 用 户 的 s e s s i o n 信 息 等 , 在 查 询
前 , 先 校 验 一 下 当 前 用 户 是 否 是 这 个 企 业 下 的 等 等 , 是
的 话 才 有 这 个 查 询 员 工 的 权 限 。
2. JSON 反序列化漏洞——如 Fastjson 安全漏洞
2.1 什么是 JSON 序列化,JSON 反序列化
� 序列化:把对象转换为字节序列的过程。
� 反序列:把字节序列恢复为 Java 对象的过程。
J s o n 序 列 化 就 是 将 对 象 转 换 成 J s o n 格 式 的 字 符 串 ,
J S O N 反 序 列 化 就 是 J s o n 串 转 换 成 对 象 。
2.2 JSON 反序列化漏洞是如何被攻击
不 安 全 的 反 序 列 化 可 以 导 致 远 程 代 码 执 行 、 重 放 攻 击 、
注 入 攻 击 或 特 权 升 级 攻 击 。 之 前 F a s t j s o n 频 繁 爆 出 安
全 漏 洞 , 我 们 现 在 分 析 f a s t j s o n 1 . 2 . 2 4 版 本 的 一 个 反
序 列 化 漏 洞 吧 , 这 个 漏 洞 比 较 常 见 的 利 用 手 法 就 是 通 过
j n d i 注 入 的 方 式 实 现 R C E 。
我 们 先 来 看 f a s t j s o n 一 个 反 序 列 化 的 简 单 例 子 :
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
System.out.println("调用了 name 方法");
剩余16页未读,继续阅读
资源评论
Lifeng666111
- 粉丝: 10
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 宠物购物网站代码,功能有购物功能,留言板功能等
- PCB制图3d元件库,适用于ALTIUM软件
- PLC资源程序: PLC程序,电梯实用程序,多层复制,自动扶梯
- 2Kw直驱电机 2Kw直驱电机
- 三层别墅图纸编号D099-三层-13.80&10.40米-效果图.dwg
- 三层别墅图纸编号D098-三层-16.20&13.20米-效果图.dwg
- 三层别墅图纸编号D097-三层-15.00&13.20米-施工图.DWG
- 三层别墅图纸编号D096-三层-10.10&09.00米-施工图.dwg
- 三层别墅图纸编号D095-三层-13.30&14.60米-施工图.dwg
- 三层别墅图纸编号D094-三层-11.40&12.90米- 施工图.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功