博客
关于我
常见WEB攻击及防御技术
阅读量:237 次
发布时间:2019-03-01

本文共 1035 字,大约阅读时间需要 3 分钟。

常见Web攻击及防御技术

XSS攻击

介绍

XSS(Cross-Site Scripting)攻击是通过在用户输入的内容中注入可执行的JavaScript代码,从而在用户浏览页面时执行攻击代码。例如,在表单中提交含有脚本的内容时,如果服务器未对输入进行过滤或转义,这些脚本会被发布到页面上。当其他用户访问该页面时,浏览器会执行这些脚本,窃取用户的cookie等敏感信息。

防御

  • 对敏感cookie信息使用HttpOnly属性,使其不在document对象中可见。
  • 对用户输入的内容进行转义,避免直接输出未经处理的用户输入。
  • CSRF攻击

    介绍

    CSRF(Cross-Site Request Forgery)攻击是通过伪造请求,诱导用户执行不安全操作。例如,用户在银行网站A未退出时,访问携带CSRF攻击代码的网站B,导致银行网站A执行转账操作,资金被盗。

    防御

  • 在敏感请求中添加验证码,确保请求来源合法。
  • 检查Referer字段,验证请求来源域名是否合法。
  • 在请求中添加token并验证,确保每次请求都有授权。
  • 将token放在HTTP头中,避免暴露于浏览器地址栏。
  • SQL注入

    介绍

    SQL注入攻击通过在表单输入中注入SQL语句,绕过数据库安全机制,执行恶意操作。例如,登录表单中的输入若未转义,会拼接到查询语句中,导致数据库操作异常或数据泄露。

    防御

  • 对输入数据进行过滤,拒绝特殊字符。
  • 最小化数据库权限,限制操作范围。
  • 使用参数化查询接口,避免直接拼接SQL语句。
  • 身份认证和会话

    攻击

    黑客利用浏览器JS禁用校验,绕过客户端验证,执行异常操作。

    防御

  • 隐藏敏感信息。
  • 对敏感信息加密存储。
  • 定期失效session,避免长时间有效性。
  • 权限与访问控制

    攻击

    通过修改URL参数,访问他人页面,泄露隐私。

    防御

  • 添加权限校验,确保访问权限合法。
  • 不安全加密存储

    防御

  • 加密存储敏感信息。
  • 使用常用加密算法。
  • 上传漏洞

    攻击

    上传非图片文件,远程执行脚本攻击服务器。

    防御

  • 限制文件类型。
  • 使用第三方文件托管。
  • 传输层未加密

    防御

  • 使用安全的HTTPS版本。
  • 异性信息使用HTTPS传输。
  • 未验证的重定向和转发

    攻击

    钓鱼攻击,诱导用户点击恶意链接。

    防御

  • 添加跳转白名单。
  • 提前提示用户跳转来源。
  • WebShell攻击

    防御

  • 识别文件类型,限制特殊定义。
  • 脚本注入

    防御

  • 对用户输入进行数据过滤,确保页面安全。
  • 跨站攻击

    防御

  • 对URL参数进行校验,确保来源可靠。
  • 转载地址:http://abkt.baihongyu.com/

    你可能感兴趣的文章
    Openlayers实战:绘制图形,导出KML文件
    查看>>
    Openlayers实战:绘制多边形,导出CSV文件
    查看>>
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers实战:非4326,3857的投影
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
    查看>>
    Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>