关于安全:安全工程师知识点

33次阅读

共计 868 个字符,预计需要花费 3 分钟才能阅读完成。

*sql 注入

  • 四种办法

    1. 联结注入
    2. 基于谬误的注入
    3. 布尔盲注
    4. 延时注入
  • 联结注入

    • 要求:联结的两张表有雷同的列数和雷同的数据类型
    • 步骤:首先用 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

  • 原理:伪造用户发送申请,在用户关上失常站点并通过可信验证后,又关上了歹意页面,此时歹意页面伪造用户身份向失常服务器发送申请,次要是实现身份窃取,盗取用户权限
  • 进攻:

    1. 验证 HTTP Referer 字段:Referer 字段表明了申请起源,当攻打方要求拜访时,他会指向攻打方,但有些浏览器能够批改这个值,且有时会产生误报。
    2. 在申请地址中增加 token 并验证,结构黑客无奈伪造的局部,因为 token 须要退出到 get/post 的参数中,而攻击者只是借用,无奈获取 cookie 内容,因而无奈结构 token
    3. 在 HTTP 头中自定义属性并验证

* 文件上传破绽

  • 用户端检测绕过:抓包批改后缀
  • 服务端检测:黑白后缀名单、Content-Type(示意文件类型)校验、文件 magic number 校验
  • 绕过形式:1. 批改 Content-Type 2. 文件头部增加正当的 magic number 3. 文件 00 截断绕过(检测的是最初的后缀,截取的是 00 之前的局部)
正文完
 0