共计 868 个字符,预计需要花费 3 分钟才能阅读完成。
*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 之前的局部)
正文完