JB的测试之旅-安全测试知多点(中)

本文探讨了互联网安全的多个关键领域,包括文件上传漏洞的防范、安全的上传功能设计、认证与会话管理,特别是Session Fixation攻击的解决方案。文章深入讨论了访问控制、加密算法、应用层拒绝服务攻击(DDoS和CC)及应对策略,同时也分享了实际的业务安全方案和安全开发流程(SDL)。
摘要由CSDN通过智能技术生成

文件上传漏洞

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。

因此,文件上传导致的常见问题有:

  • 上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。
  • 。上传文件是Flash的策略文件crossdo-main.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似)。
  • 上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
  • 上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。

如何设计安全的上传功能

  • 文件上传的目录设置为不可执行,文件上传后会放到独立的存储上,做静态文件处理。
  • 判断文件类型,增加黑名单逻辑。
  • 使用随机数改写文件名跟路径。
  • 单独设置文件服务器的域名。

认证与会话管理

认证的目的是为了认出用户是谁,而授权的目的是为了决定用户能够做什么。

形象地说,假设系统是一间屋子,持有钥匙的人可以开门进入屋子,那么屋子就是通过“锁和钥匙的匹配”来进行认证的,认证的过程就是开锁的过程。
钥匙在认证过程中,被称为“凭证”,开门的过程,在互联网里对应的是登录。
可是开门之后,什么事情能做,什么事情不能做,就是“授权”的管辖范围了。 

那实际问题来了,拿着钥匙的人,就一定是屋子的主人吗?

密码

密码是互联网作为最基础的认证手段。 密码的优点在于成本低,认证过程实现比较简单,缺点是容易被pojie。

多因素认证

因为密码不太安全,因此大多数银行会增加手机动态口令、数字证书、宝令、支付盾、第三方证书等都可用于用户认证。这些不同的认证手段可以互相结合,使得认证的过程更加安全。

Session Fixation攻击

什么是Session Fixation呢?举一个形象的例子:

假设A有一辆汽车,A把汽车卖给了B,但是A并没有把所有的车钥匙交给B,还自己藏下了一把。这时候如果B没有给车换锁的话,A仍然是可以用藏下的钥匙使用汽车的。 

这个没有换而导致的安全问题,就是SessionFixation问题。

在用户登录网站的过程中,如果登录前后用户的SessionID没有发生变化,则会存在Session Fix-ation问题。

具体攻击的过程:

  • 用户X(攻击者)先获取到一个未经认证的SessionID;
  • 然后将这个Ses-sionID交给用户Y去认证;
  • Y完成认证后,服务器并未更新此SessionID的值(注意是未改变Ses-sionID,而不是未改变Session);
  • 所以X可以直接凭借此SessionID登录进Y的账户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值