安全工程师知识点
*sql注入
-
四种方法
- 联合注入
- 基于错误的注入
- 布尔盲注
- 延时注入
-
联合注入
- 要求:联合的两张表有相同的列数和相同的数据类型
- 步骤:首先用order by确定列数,再构造union 查询(如union select 1,database(),version() –+)获取,通过返回值确定目标点获取的是哪些列的值,再将这些列做替换获取目标数据库名、表名、列名等
-
基于错误的注入
- 原理:通过报错返回的结果确定信息
-
布尔盲注
- 原理:利用布尔值的结果判断构造语句的正确性
-
延时注入
- 原理和布尔盲注类似,在页面不提供反馈时,通过sleep函数设置时延,通过相应时间判断正确性 —— e.g. and if(length(database())>5,sleep(5),0) –+
*XSS
- 三种类型
1.存储型XSS
2.反射型XSS
3.DOM -
存储型XSS
- 将脚本永久保存至服务器端,如嵌入帖子、评论等,当客户端打开页面时就会执行注入脚本,导致敏感信息发送到攻击端
-
反射型XSS
- 需要引导客户端点击攻击者构造的恶意URL,将恶意代码参数添加到客户端的页面中被执行
- DOM
- 防御:输入过滤
*CSRF
- 原理:伪造用户发送请求,在用户打开正常站点并通过可信验证后,又打开了恶意页面,此时恶意页面伪造用户身份向正常服务器发送请求,主要是实现身份窃取,盗取用户权限
-
防御:
- 验证 HTTP Referer 字段:Referer字段表明了请求来源,当攻击方要求访问时,他会指向攻击方,但有些浏览器可以修改这个值,且有时会产生误报。
- 在请求地址中添加 token 并验证,构造黑客无法伪造的部分,由于token需要加入到get/post的参数中,而攻击者只是借用,无法获取cookie内容,因此无法构造token
- 在 HTTP 头中自定义属性并验证
*文件上传漏洞
- 用户端检测绕过:抓包修改后缀
- 服务端检测:黑白后缀名单、Content-Type(表示文件类型)校验、文件magic number校验
- 绕过方式:1.修改Content-Type 2.文件头部添加合理的magic number 3.文件00截断绕过(检测的是最后的后缀,截取的是00之前的部分)
*内网渗透
- 已经控制内网一台机器,将其作为跳板机获取内网其他机器的控制权
*SSRF
- 服务端请求伪造,利用服务器接受url资源请求而不过滤请求来源导致的攻击者利用服务器身份恶意伪造url访问其他资源–curl(如服务器直接用curl帮助获取资源,那将curl的资源地址改为其他敏感资源地址,就能够以服务器名义获取一些内部敏感资源信息)
- 过滤方式:过滤ip地址的资源获取请求–http基础认证(后面接@new.com)、设置资源请求url白名单http://xxx.com(302重定向跳转)、检查url后缀…
- 修复:限制协议、不使用重定向、设置访问白名单或只允许内网访问
[温馨提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。]
[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]