XSS攻击
- 定义:跨站脚本攻击(Cross Site Scripting),一种经常出现在web应用中的计算机安全漏洞,允许恶意web用户将代码植入到给其他用户使用的页面中
- 危害:
- 盗取各类用户账号,如网银、网站管理员账号
- 读取、串改、添加、删除企业敏感数据
- 非法转账
- 控制受害者机器向其他网站发起攻击
- 攻击方式:
- 存储型攻击:XSS代码被插入到类似个人信息、网站留言、评论、脚本等存储在服务器上的信息中
- 反射型攻击:脚本隐藏在URL中,欺骗用户自己去点击链接,从而触发隐藏的XSS代码,一般出现在搜索页面、用户登陆口,用以窃取cookie或进行钓鱼欺骗
- DOM型攻击:客户端脚本通过DOM的冬天检查修改页面内容,不依赖服务器端数据,仅在客户端执行
- 防范手段
- 陌生的链接尽量不要点,使用正规网站
- 对内容进行转义或过滤,使恶意脚本失效
- 设置HttpOnly属性,限制恶意脚本的访问
CSRF攻击
- 定义:跨站请求伪造(Cross-site request forgery),黑客引诱用户打开黑客的网站,在黑客的网站中,利用用户登录状态发起跨站请求
- 危害:
- 获取用户的隐私数据
- 盗用用户身份,发送恶意请求,如转账、发消息、发邮件等
- 配合其他漏洞发起攻击
- 攻击方式
- 登录网站后,在未登出的情况下,打开危险网站,导致信息被窃取,危险网站依据获取的信息发起请求
- 防范手段
- 检查请求头中origin属性和referer属性,明确请求是否从本站发出
- 加强Token验证
点击劫持
- 定义:一种视觉上的欺骗手段。攻击者使用透明、不可见的iframe覆盖在网页上,诱导用户进行操作
- 危害
- 泄露信息
- 在不知情的情况下,进行了一些未知操作
- 攻击方式
- Flash点击劫持,网页上的一些需要用户点击的小游戏
- 覆盖攻击,比如将页面中的图片、信息覆盖为攻击者展示的信息
- 拖拽劫持,用户使用拖拽功能时,将敏感信息拖拽到攻击者想要的地方
- 手机触屏劫持
- 防范手段
- 网页禁止iframe嵌套
- 请求头设置X-FRAME-OPTIONS,防御利用iframe嵌套的攻击
- DENY:拒绝任何域加载
- SAMEORIGIN允许同源域加载
- ALLOW-FROM:定义允许frame加载的页面地址
SQL注入
- 定义:在数据交互中,后台服务器接收前端传入的数据时,未做严格判断,导致数据在拼接到SQL语句中后,被当做语句的一部分执行,导致数据库受损
- 危害
- 数据库被恶意操作、远程控制、安装后门、信息泄露
- 篡改网页,传播恶意信息、软件
- 破坏硬盘数据,瘫痪系统
- 攻击方式
- 变量类型:数字型、字符型
- HTTP提交方式:GET请求query string、POST请求body、cookie
- 报错注入:
- 报错注入:制造错误条件,使得查询结果出现在错误信息中
- 盲注:前端无法看到,需要利用一些辅助方法进行判断,比如返回booean值的布尔盲注,返回延时sleep()的时间盲注
- 堆叠注入:多条SQL语句一起执行
- 防范手段
- 使用预编译语句集(内置了处理SQL注入的能力)
- 使用正则表达式过滤传入的参数
- 字符串过滤
OS命令注入攻击
- 定义:通过web应用,执行非法的操作系统命令,以达到攻击目的
- 危害
- 执行未授权的代码或命令,读取或修改攻击者无权访问的数据
- 攻击方式
- 应用程序通过用户输入的参数构造OS命令
- 防范手段
- 以最小权限运行程序
- 考虑使用把名单过滤OS命令
- 尽可能使用库或框架构建程序