web常见漏洞基础原理

XSS

跨站脚本

盗取用户信息,钓鱼,制造蠕虫等

1. 存储型

访问网站时触发,xss脚本存储在web服务器上

2. 反射型

访问携带xss脚本链接时触发,在url上执行脚本

3. DOM型

访问携带xss脚本链接时触发,脚本通过JavaScript写入hash

三种类型区分

web常见漏洞基础原理_第1张图片

CSRF

跨站请求劫持

利用用户已登录的身份,在用户毫不知情的情况下,,以用户的名义完成非法操作

造成原因:

对关键操作缺少确认机制

利用效果:

被转账,被发垃圾评论,被投票等,制造蠕虫

原理分析:

web常见漏洞基础原理_第2张图片
web常见漏洞基础原理_第3张图片

黑客将写有下面攻击代码的恶意网页嵌入iframe,再将iframe放到一个看起来正常的网页,当用户点开网页时立马被自动转账,iframe隐藏了表单提交的跳转

web常见漏洞基础原理_第4张图片

利用条件:
  1. 被害用户已经完成身份认证
  2. 新请求的提交不需要重新身份认证
  3. 攻击者必须了解web app请求的参数构造
  4. 诱使用户触发攻击命令(社工)
防范方法:
  1. Captcha(验证码)
  2. anti-CSRF token
  3. Referrer头
  4. 降低会话超时时间

点击劫持

通过调整iframe或其他标签透明度将框架隐藏误导用户点击而产生的攻击

web常见漏洞基础原理_第5张图片

URL跳转

借助未验证的URL跳转,将应用程序引导到不安全的第三方区域(恶意网站)

web常见漏洞基础原理_第6张图片

1. Header头跳转

web常见漏洞基础原理_第7张图片

2. JavaScript跳转

web常见漏洞基础原理_第8张图片

3. META标签跳转

web常见漏洞基础原理_第9张图片

常见案例

web常见漏洞基础原理_第10张图片

SQL注入

数据当做代码来执行

获取管理员用户名,密码,手机号,身份证等数据库信息
获取服务器权限
植入webshell,后门
读取服务器敏感文件
万能密码

过程
  1. 获取用户请求参数
  2. 拼接到代码中
  3. SQL语句按照我们构造参数的语义执行成功
必备条件
  1. 可以控制输入的数据
  2. 服务器要执行的代码拼接了控制的数据
利用
  1. 万能密码(– 即杠杠空格,在SQL语句中为注释符)
    web常见漏洞基础原理_第11张图片
    web常见漏洞基础原理_第12张图片
  2. 获取数据库版本
    web常见漏洞基础原理_第13张图片
  3. 获取数据库当前用户
    web常见漏洞基础原理_第14张图片

命令注入

  1. DOS命令
  2. BASH命令
    web常见漏洞基础原理_第15张图片
PHP执行命令的函数
  • system
  • exec
  • shell_exec
  • eval
实例

web常见漏洞基础原理_第16张图片
这里写图片描述
注意 有时需要URL转义,这里的%26就是&

文件操作漏洞

常见文件操作
  • 上传头像,附件
  • 下载应用,附件
危害
  • 文件上传漏洞
    web常见漏洞基础原理_第17张图片
  • 任意文件下载
    • 未验证下载文件格式名
    • 未限制请求路径
  • 文件包含漏洞
    • 本地文件包含
    • 远程文件包含
      这里写图片描述
      这里写图片描述
常用文件包含函数
  • include()
  • require()
  • include_once()
  • require_once()
本地测试注意

web常见漏洞基础原理_第18张图片

你可能感兴趣的:(笔记)