欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

web安全入门(第八章-2)越权漏洞

程序员文章站 2024-03-19 12:57:22
...

一、什么是越权

1,概念:常见的逻辑漏洞,由业务逻辑处理问题造成的,它本身单独可能不是漏洞,
			但对于业务逻辑而言是漏洞,比如:普通 用户修改掉管理员的密码
			
2,本质:服务器对提交数据的用户没有检测权限,使a用户能直接增删改查
			其他用户或管理员信息

3,分类:	~垂直越权(普通用户可以改管理员信息)
			~平行越权(普通a用户可以改其他用户信息)
			~交叉越权(即有垂直越权也有平行概念)

4,常见性:非常常见,并且逻辑类漏洞,漏扫工具无法扫描出,
			基本都是高度安全环境中首测目标

二、越权测试过程

1,测试有无越权漏洞:
		~登录A账户,
		~点击查看信息(同时抓包)
		~修改传参ID(或类似敏感参数)
		~成功查看或者修改了其他用户的信息就属于水平越权测试
		~如果影响到更高权限用户就是垂直越权
		
	注意:	传参id参数需要自己去检测,常见的有uid=,id=,user= 等
			传参id位置可能在GET POST COOKIE等地方

2,常见平行越权的危害:
			~不需要输入原密码的修改密码,抓包改用户名或者用户id修改他人密码
			~修改资料的时候修改用户id
			~查看订单的时候,遍历订单id
				等等。。

三、常见越权漏洞

1,通过修改GET传参来越权

2,修改POST传参进行越权
		//近些年来,get的很少见,post的居多
		
3,修改cookie传参进行越权

4,不要仅仅局限于浏览器的网页,很多app,应用程序exe也存在
		特别是app存在很多交叉越权

5,未授权访问
		严格意义上而言这个不属于越权漏洞,但是在日常测试中常常会遇见
		例如:
				正常访问:
					登陆时,输入正确账户与密码,跳转到sb页面,
				漏洞访问:
					直接输入sb页面,发现可以直接进去。。。
					
    	本质:没有对用户权限进行检测
		如何发现:除了CMS,就只能目录扫描了

6,额外提醒:
		一定要保护好自己的隐私信息,不要随意泄露,万一一些网站被破
		自己的隐私也即暴露在阳光下

四、实战注意

1,额外补充:
	有了cms通杀漏洞,直接fofa,搜索"BWSsoft"	//BWSsoft是一个CMS的举例
	假如网站没有进行二次开发,基本一打一大片	//钟馗之眼也行

2,在总结下一般步骤
		~注册网站用户
		~点击修改资料,同时抓包
		~看看get、post、cookie地方有没有可疑的地方
		~看有没有类似userid之类的敏感字眼
				或者,自己在页面看不到的信息,都是重要测试的地方

		~修改userid=1,放包				
				//一般来说,第一个用户都是admin
				//有的抓包修改一个页面后,接着后边的页面信息也要改
				//切记改一个不改了
		~看看返回来的页面是否是别人的
		
		
	注意:在挖掘src的时候,不要改管理员的密码!!!
			不然,自己品
			
3,有的未授权访问,只是前端的验证或者跳转,将浏览器的JS关闭
		直接访问后台管理的操作页面即可
		
		谷歌浏览器关闭JS步骤:
			~设置搜索“内容”
			~点击“网站设置”
			~点击“JavaScript”
			~点击“关闭”

靶场作业:

平行越权

入靶场注册账号然后登陆,点击修改资料,使用工具抓包	

抓到userID=12代表时用户的ID身份

修改ID发现跳到管理员修改资料的地方,然后将管理员密码修改

点击修改然后抓包,修改userID

登录管理员后台得到flag

垂直越权

直接抓包修改admin和shenfen 代表管理员的身份

平行越权、垂直越权常见问题汇总

1.越权漏洞是什么
应用在检查授权时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能

2.越权漏洞有哪几种
一般分为平行越权和垂直越权和交叉越权(交叉就是既可以平行又可以垂直)

3.平行越权和垂直越权的区别在哪里
平行越权指在同一权限下的越权,比如越权操作其他同权限用户
而垂直越权是权限低的可以访问到权限高的,比如越权操作管理员

4.这里的越权和提权有什么区别
越权,是指因为逻辑漏洞而造成的权限控制不当,而提权,一般指的是拿到SHELL之后在服务器上面权限不够

5.如何测试水平越权
看看A用户的操作能不能影响到B用户,抓取数据包修改参数,看看能不能成功修改或查看其他用户信息

6.越权漏洞一般哪里出现的比较多
一般在一些订单页面,登陆页面,修改资料页面等等

7.一般越权测试会涉及到那些参数
类似ID,user,uid这类身份标识类传参

8.一般有哪些越权行为
修改资料时修改id
订单里遍历订单id
修改密码时修改id,user,修改他人密码

9.越权的参数一般在哪里找
可能在GET,POST,COOKIE里

10.越权测试仅限于WEB页面吗?
在app,网页,应用程序里都可以

11.越权后有时效性吗?
一般而言没有

12.如何去判断哪些参数可以进行越权呢
Id,user这类身份标识类的参数可能可以越权


13.越权的参数会不会经过加密处理
会,有些cookie里的传参,就有可能进行加密传参

14.未授权访问是什么
需要安全配置或权限认证的地址存在缺陷,输入正确地址后可以直接访问

15.未授权访问和越权有什么区别
未授权访问是可以直接去访问(不需要任何权限),而越权需要去修改参数去执行(需要低权限)

16.未授权访问一般出现在什么地方
一般在网页后台页面,某些后期开发的页面 里可能存在未授权访问

17.怎么去寻找未授权访问漏洞
扫描路径,直接去访问敏感目录也许就可以直接访问到后台

18.越权产生属于什么漏洞,危险等级?
越权属于逻辑漏洞,一般平行越权可以打个中危,垂直或者交叉给个高危吧。

19.如果传参全部加密了怎么办?
那么就要想办法尝试出他的加密方法,如果不知道怎么加密的话,这里基本上无法测试越权了

20.越权漏洞常见吗?
非常常见,并且逻辑类漏洞,漏扫工具无法扫描出来,基本上是高度安全的环境中首测目标

21.逻辑漏洞是什么?
逻辑漏洞是因为业务逻辑出了问题所造成的,他本身单独可能不是漏洞,但是对于业务逻辑而言是漏洞,比如普通用户修改管理员密码,本质上就是执行SQL语句,并不是什么漏洞,但是在业务上面而言就有问题了,他不是技术层面的问题,而是逻辑层面,逻辑漏洞是渗透测试项目上面最最最最常见,也是最最最容易挖到的漏洞(很多比较重视安全的公司就只能挖这种吃饭,因为SQL|XSS|CSRF之类的完全挖不到)。
推荐本书,建议下载PDF观看:Web攻防之业务安全实战指南


22.越权和提权有什么区别
越权,是指因为逻辑漏洞而造成的权限控制不当。
提权,一般指的是拿到SHELL之后在服务器上面权限不够。

23.如何测试越权漏洞
对于渗透测试,可以对一些请求进行抓包操作,或者查看请求的 URL 地址,对于关键的参数修改下值查看下返回结果来初步判定。随后可以注册两个小号,相互辅助来确定是否存在越权。
常见的越权高发功能点有:根据订单号查订单、根据用户 ID 查看帐户信息、修改 / 找回密码等。