常见的Web安全攻防(二)

带你了解几种常见的Web安全攻防,希望能帮到想要了解Web安全的你。

一、点击劫持

攻击者使用一个或多个透明的iframe 覆盖在一个正常的网页上,然后诱使用户在该网页上进行操作,当用户在不知情的情况下点击透明的iframe 页面时,用户的操作已经被劫持到攻击者事先设计好的恶意按钮或链接上。

举个简单的例子:

我想让自己账号的关注人数变多。我先做一个网站,放满了各种免费的学习资料,写着醒目的点击免费下载。然后把掘金通过iframe的方式引入,通过一些样式的操作,使掘金的关注按钮透明的覆盖在这些学习资料上方。当用户点击下载的时候,其实点击的是我的掘金主页的关注。

** 点击劫持的特点就是有很强的隐蔽性,同时绝大部分的点击劫持都是使用一些美女图片或者黄色小视频来诱惑大家点击。所以不访问不良网站,少点击不明链接可以很大程度减少点击劫持的攻击。 **

如何防御?

1. X-FRAME-OPTIONS

X-Frame-Options HTTP 响应头是用来给浏览器 指示允许一个页面 可否在 , , 或者 中展现的标记。站点可以通过确保网站没有被嵌入到别人的站点里面,从而避免 clickjacking 攻击。

该响应头有三个参数:

参数说明
deny表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
sameorigin表示该页面可以在相同域名页面的 frame 中展示。
allow-from uri表示该页面可以在指定来源的 frame 中展示。
2.浏览器和扩展

尽量保持最新的浏览器等级能及时享受一些浏览器升级带来的安全保护。使用一些扩展也能帮助我们避免很多攻击。比如 NoScript 中 ClearClick 组件能够检测和警告潜在的点击劫持攻击,自动检测页面中可能不安全的页面。

二、URL跳转漏洞

服务端未对传入的跳转url变量进行检查和控制,可能导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。 由于是从可信的站点跳转出去的,用户会比较信任,所以跳转漏洞一般用于钓鱼攻击,通过转到恶意网站欺骗用户输入用户名和密码盗取用户信息,或欺骗用户进行金钱交易。

黑客利用URL跳转漏洞来诱导安全意识低的用户点击,导致用户信息泄露或者资金的流失。其原理是黑客构建恶意链接(链接需要进行伪装,尽可能迷惑),发在QQ群或者是浏览量多的贴吧/论坛中。 安全意识低的用户点击后,经过服务器或者浏览器解析后,跳到恶意的网站中。

如何防御?

1.referer限制

如果确定传递URL参数进入的来源,我们可以通过该方式实现安全限制,保证该URL的有效性,避免恶意用户自己生成跳转链接。

2.加入有效性验证Token

我们保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制。

三、SQL注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

如何防御?

1.权限最小化

严格限制Web应用的数据库的操作权限,给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害。

2.字符转义

对进入数据库的特殊字符(',",,<,>,&,*,; 等)进行转义处理,或编码转换。

3.检测数据

后端可以利用正则等手段判断数据的输入是否符合预期。这个也在很大程度上阻止了SQL注入攻击。

参考网址

developer.mozilla.org/zh-CN/docs/…

www.cnblogs.com/fundebug/p/…

huaidan.org/archives/20…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值