Web常见漏洞及分析

XSS 漏洞(Cross Site Script | 跨站脚本)

常见危害: 盗取用户信息,钓鱼,制造蠕虫等
概念: 黑客通过“ Html 注入”篡改网页,插入了恶意脚本,当用户在浏览网页时,实现控制用户浏览器的一种攻击方式

XSS 通常有三种类型:

  • 存储型:访问网站,触发XSS。
    firebug 的 html 中查找

黑客端攻击流程: 构造带有 XSS 脚本的留言内容 –> 提交给后端 web 应用程序 –> web 应用程序将带有 XSS 脚本的留言写入数据库 –> 用户或管理员查看留言触发 XSS
用户端被攻击流程: 用户打开浏览器 –> 访问了有 XSS 脚本的留言页面 –> 浏览器请求内容 –> 查询数据库 –> 数据库将带有 XSS 脚本的留言返回给 web 应用程序 –> 显示在用户的页面中触发 XSS
例:留言中加入 <img src="#" onerrror=alert(/XSS/)>

  • 反射性:访问携带 XSS 脚本的连接,触发 XSS

用户端被攻击流程: 用户访问了有XSS脚本的链接 –> 浏览器向后端的web应用程序发送请求 –> 后端程序将 url 中的 XSS 脚本数据写入到响应页面并返回给浏览器 –> 浏览器渲染响应页面触发 XSS
例: url 中携带 <img src="#" onerror="alert=(/XSS/)">

  • DOM 型: 访问携带 XSS 脚本的链接,触发XSS
    firebug 脚本中查找“ hash ”

攻击过程: 用户在浏览器中访问携带XSS脚本的链接 –> 浏览器通过 javascript 从 url 中提取出 XSS 脚本的内容并写入到 DOM 中 –> 触发 XSS


CSRF 漏洞(Cross-site request forgery | 跨站请求伪造)

常见危害: 执行恶意操作(“被转账”、“被发垃圾评论”),制造蠕虫等
概念: 利用用户已登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。
原理:

在转账页面可能存在看不见的 iframe 标签,因为 width 和 height 为0


URL 跳转漏洞

概念: 借助未验证的 URL 跳转,将应用程序引导到不安全的第三方区域,从而导致安全问题
例如:

实现方式:

  • Header 头跳转
  • JavaScript 跳转
  • Meta 跳转

SQL 注入

SQL 注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以进行访问或修改数据,或者利用潜在的数据库漏洞进行攻击
SQL 注入的必备条件

  • 1、可以控制输入的数据
  • 2、服务器要执行的代码拼接了控制的数据

SQL 注入的本质

数据和代码未分离,即数据当作了代码来执行


命令注入

命令注入要满足三个条件:

  • 1、调用可执行系统命令的函数
  • 2、函数或函数的参数可控
  • 3、拼接注入命令
    PHP执行命令的函数:system, exec, shell_exec, eval ……
    PHP执行系统命令的函数:

    system() 输出并返回最后一行shell结果。
    exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
    passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。

AbelChe wechat
扫码加微信
Donate here!!!
0%