看到题目介绍,本题存在越权访问漏洞,启动靶场环境之后
可以知道测试账户的用户名和密码,要我们获取马春生的个人信息,先登录测试账户,发现了有用户信息。接着我们用bp抓包看看,
抓到了两个数据包,看到登录成功之后的数据包,发现了uid和mid参数,应该分别对应的用户名和密码,密码是md5加密后的数,另外一个数据包中有一个car_id参数,对它进行修改看看会是什么结果
可以看到,在我将尾数22改为20并发送请求之后,用户名有改变,猜测car_id对应的应该是用户编号之类的,每个用户对应一个编号,那么就可以利用这个漏洞来获取马春生用户所对应的用户编号,从而获取马春生的信息,一个一个尝试效率太低,我们可以利用bp的爆破模块来枚举,
这里只需要将参数的后两位数进行爆破即可,
根据长度,一共获取到 13个有用信息,现在就是要找到哪个才是马春生的信息,量不是很大,可以一个个将密码进行破解然后登录找到马春生的信息,假如信息量很大的情况下,这种方法肯定就是不可行的,所以我们还得进一步的搜集信息,直接确定马春生用户所对应的那一条信息。回到登录界面,查看源代码,发现了每个用户的头像图片名就是她们的car_id值,
根据题目,马春生是钻石代理,car_id尾数为16,找到尾数为16所对应的数据包,并将其密码进行md5解密
解密完成得到密码之后进行登录,得到马春生的信息。
本题属于水平越权问题,比较简单,容易理解。