XSS
存储型XSS
XSS脚本存在数据库中(黑客构造XSS脚本上传,存入数据库。用户访问网页时触发。)
反射型XSS
用户主动访问一个含XSS脚本的链接,XSS脚本包含在url参数中。(服务器将xss脚本写入到相应页面中)
DOM型XSS
用户主动访问一个含XSS脚本的链接,XSS脚本包含在url的hash中。(前端通过js提取xss脚本内容,写入到dom中)
CSRF
Cross-site request forgery 跨站请求伪造,属于客户端漏洞
危害
- 执行恶意操作
- 制造蠕虫
- 利用用于已登录的身份,在用户毫不知情的情况下,以用户的名义完成操作。
点击劫持
点击劫持是通过覆盖不可见的框架误导受害者点击而造成的攻击行为。
特点
- 隐蔽性较高
- 骗取用户操作
- UI-覆盖攻击(利用iframe或者其他标签的属性)
URL跳转漏洞
借助未验证的URL跳转,将应用程序引导到不安全的第三方区域,而导致的安全问题。
实现方式
- Header头跳转,设置header里的Location参数。
- JS跳转
- Meta标签
SQL注入
SQL Injection,是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。
过程描述
- 获取用户请求参数
- 拼接到代码当中
- SQL按照我们构造参数的语义执行成功
SQL注入条件
- 可以控制输入的数据
- 服务器要执行的代码拼接了控制的数据(数据和代码未分离)
危害
- 获取数据库信息(管理员后台用户名和密码、脱裤、其他敏感信息 用户名 密码 手机号码 身份证 银行卡信息)
- 获取服务器权限
- 植物Webshell,获取服务器后门
- 读取服务器敏感信息
- 万能密码
命令注入
攻击过程
- 黑客构造命令
- 服务器拼接命令,执行注入的命令
- 结果回显
命令注入的条件
- 调用可执行系统命令的函数
- 函数或函数的参数可控
- 拼接注入命令
文件操作漏洞
漏洞:文件上传(Webshell、木马)、文件下载(系统任意文件、程序代码、数据库配置文件)
文件上传漏洞
条件:可以上传可执行脚本 & 脚本拥有执行权限
任意文件下载
条件:未验证下载文件格式 & 未限制请求的路径
文件包含漏洞
本地文件包含,远程文件包含
常用的文件包含函数:include(), require(), include_once(), require_once() …