安全小课堂第131期【越权漏洞的挖掘】

2019-03-08 18,177

越权漏洞是Web应用程序中一种常见的安全漏洞,攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

JSRC 安全小课堂第131期,邀请到g0ku师傅就越权漏洞的挖掘为大家进行分享。同时感谢白帽子们的精彩讨论。


京安小妹:什么是越权?

g0ku:

越权是最常见的web应用漏洞之一,即OWASP中的失效的访问控制,对于用户所能够执行的操作缺乏有效的限制,使用户可以操作未授权的数据。


京安小妹:越权的危害

g0ku:

攻击者可以利用这些缺陷来访问未经授权的功能或数据,例如访问其他用户的账户,查看敏感文件,修改其他用户的数据,更改访问权限等。



京安小妹:如何挖掘越权漏洞?

g0ku:

举例几个常用的挖掘手法:

  1. 操作时分析请求中的数据包,看看每个参数的作用,修改参数查看变化。

  2. 拥有更多权限的账号,把能访问的URL都提取出来,给低权限用户访问或者直接访问,查看能否访问。

  3. 猜测隐藏的API,如:guest/getorder,修改成admin/getorder。

  4. 通过搜索引擎,或者提取JS中的URL,查找隐藏功能。如burpsuite中有一个BHP JS scraper的插件。

  5. 猜测隐藏的参数,添加进去查看变化,如修改信息的时候加个ID。

  6. 抓取所有的数据包,搜索用户名等关键词,比如我的用户名是test,在burpsuite中的HTTP history搜索test,看看有没有哪个数据包包含这个参数,将其修改为其他的用户名,查看变化。


京安小妹:越权的实战案例1

g0ku:

通过猜测或寻找隐藏的参数来修改其他用户信息;新用户注册时会需要认证信息,提交信息的时候查看数据包内容,可以看到有个参数是id,应该是用户id,这里修改无效,寻找相似的地方。

来到个人信息处

微信图片_20190306134807.png

修改的时候抓包,发现没有可以越权的参数,查看新用户注册时的API。与调用时的API有共同点,猜测有隐藏参数。

注册时:

https://*.*.*/user/person_auth_register

修改时:

https://*.*.*/user/person_auth_modify

直接添加ID参数,成功修改其他用户信息。


京安小妹:越权的实战案例2

g0ku:

查询订单的时候,一般会验证用户cookie,如果把cookie置空,程序可能会获取不到cookie而返回全部订单信息。

登陆账号查询订单信息,PS:啥都没买所以没数据

再次查询的时候抓包将cookie置空

发送数据包后返回所有订单信息

互动问答环节:

1. 除了修改用户ID越权还有什么方式吗?

g0ku::cookie中的参数,尝试对cookie进行解码,有时候也会有收获。

2.删除了用户cookie,服务器是怎么认证的?

g0ku::服务器啥都验证不到了,就返回所有信息给你了,这是因为程序对cookie权限没控制好。

3.怎么越过手势密码这类功能?

g0ku::比如可以尝试清空app数据,可以参考一下这个https://www.cnblogs.com/pshell/p/8191341.html。

4.订单遍历还有什么其他方法吗?

g0ku::订单遍历我遇到的都是跟修改参数有关的,主要还是看程序员怎么开发的,具体情况具体分析。

5.burpsuite的BHP JS scraper的插件地址

g0ku::https://github.com/Lopseg/Jsdir。



本文作者:京东SRC

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/100028.html

Tags:
评论  (0)
快来写下你的想法吧!

京东SRC

文章数:73 积分: 129

京东安全应急响应中心

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号