GraphQL API 漏洞
想了解什么是 GraphQL?请访问:What is GraphQL? | Web Security Academy
GraphQL API 漏洞简介
GraphQL 漏洞通常是由于实现和设计缺陷而产生的。例如,内省功能可能会保持活动状态,使攻击者能够查询 API 以收集有关其架构的信息。
GraphQL 攻击通常采用恶意请求的形式,使攻击者能够获取数据或执行未经授权的操作。这些攻击可能会产生严重影响,特别是如果用户能够通过操纵查询或执行CSRF 漏洞来获得管理员权限。存在漏洞的 GraphQL API 还可能导致信息泄露问题。
想了解GraphQL API 漏洞的详细内容可访问:GraphQL API vulnerabilities | Web Security Academy
LAB1:Accessing private GraphQL posts
简介提示需要获得密码,但密码在一个被隐藏起来的博客文章里。
告诉我我们需要安装 InQL 扩展
扩展在下图
InQL 扩展好像需要另一个扩展,我不确定,因为这个扩展我以前就有,就是下图这个
之后就是需要这两个扩展
下面就进入实验室正式开始,进入实验室出现下面页面
查看burp suite
可以看到上图框住的部分,我们重点关注它,根据提示密码是隐藏在博客中的,我们先把所有博客都点开一遍,在返回burp suite查看我们关注的部分,如下图
查看每一个报文,点击下图框住的部分,查看每一个报文的区别
这个就是我们刚才安装的扩展,可以看到每个的id值都不同,除了访问首页没有id值,可以看到访问的四篇博客id分别为1、2、4、5没有id为3的值,我们随便拿一个存在id值的来发送到重发器,例如id为2的这个,如下图
ctrl + r发送,把id改为3发送请求包试一下
可以看到这个是一个隐藏的博客,但是在响应包里没有密码的字段
接下来我们研究这里
可以发现这几个值都是对应的,可能我需要的密码也是有一个值才会响应给我。准备去寻找这个值
右键复制网址
粘贴到框里进行加载
可以看到下图这个,下面那个是我之前弄得不需要管
逐级打开可以看到一个可能跟密码有关的参数值,我们复制它来试一下
回到重发器,粘贴进去,我把paragraphs值删掉了,这样等下响应看着比较清晰
点击发送,可以看到需要的密码了
复制、粘贴、ok