首页 > 其他分享 >Web安全入门与靶场实战(16)- 越权访问漏洞

Web安全入门与靶场实战(16)- 越权访问漏洞

时间:2023-01-25 10:00:20浏览次数:41  
标签:Web 16 网站 用户 访问 漏洞 靶场 id 页面

我们接着上篇博文来继续研究靶机中的网站。

首先网站中有个login登录页面,这里就可能会存在SQL注入漏洞。但是作为一个零基础入门课程,这里不准备展开介绍SQL注入,这个可以放在后续课程中再专门学习。而且对于这个靶机,其实也并不存在SQL注入。这里之所以要提及SQL注入,是因为从Web安全的角度,看到这种向网站传递数据的页面,首先应该考虑的漏洞自然就是SQL注入。

除了登录页面之外,另外还有一个“Register”注册用户的页面,可以随意注册一个用户账号,比如hacker:

Web安全入门与靶场实战(16)- 越权访问漏洞 _VulnHub

使用hacker登录之后,发现有个修改密码的功能,但是这个功能不好用,密码其实改不了。

注意观察URL,可以发现当访问不同的页面时,是用Get方法通过page参数将要访问的页面名字发给网站的,比如访问Dashboard页面时的URL:

http://192.168.80.128/index.php?page=dashboard

当访问Profile页面时,除了page参数之外,还向网站发送了一个user_id参数:

http://192.168.80.128/index.php?page=profile&user_id=12

之前在介绍静态资源和动态资源时曾提到过,像当前所访问的index.php就是典型的动态页面,客户端向网站发送数据后,网站会去数据库中进行查询,再将查询的结果返回给客户端。所以客户端向网站发送不同的数据,就会看到不同的返回结果。

我们这里向网站发送的数据是user_id=12,看到的是我们刚注册的hacker用户的信息。可以推测,12应该就是hacker的id,除了hacker之外,网站中应该还会存在其他用户账号。那么我们向网站发送不同的id,是否就能看到其他用户的信息呢?

尝试修改user_id,比如改为1,果然可以看到其他用户的信息,证明这里确实存在漏洞。

Web安全入门与靶场实战(16)- 越权访问漏洞 _VulnHub_02

正常情况下,每个用户应该只能看到自己的个人信息,但现在却可以任意查看其他用户的信息,这其实是一种越权行为,因而这种漏洞就称为“越权访问”漏洞。

越权访问漏洞是指由于网站开发人员的疏忽,没有在对信息进行增删改查时候进行用户判断,从而导致某个用户可以对其他用户也进行增删改查等操作。

这里通过越权访问我们就获取了其他用户的信息。由于我们刚注册的用户id是12,所以其他用户的id应该都小于12。另外并非每个id都有对应的用户,经过尝试,共发现了6个用户的信息,而且其中有我们最为关心的Alice的信息。

Web安全入门与靶场实战(16)- 越权访问漏洞 _VulnHub_03

在用户信息中,我们最感兴趣的肯定是用户密码,但是这里的密码是不显示的。如何才能看到这些密码呢?下篇文章将继续介绍。

 

标签:Web,16,网站,用户,访问,漏洞,靶场,id,页面
From: https://blog.51cto.com/yttitan/6022454

相关文章