[Hacker101靶场] RTFM [moderate]

admin 2024年7月15日16:46:45评论50 views字数 2215阅读7分23秒阅读模式
本文章仅用于网络安全研究学习,请勿使用相关技术进行违法犯罪活动。
简介:Hacker101是世界上最大的赏金猎人网站Hackerone的教程靶场。
知识点:API Hack

基本信息

主页,进入主页提示如下,访问/api/v1/进行穷举。

[Hacker101靶场] RTFM [moderate]

图1:主页

/user,需要X-Token。

[Hacker101靶场] RTFM [moderate]

图2:/user的Get请求

/status

[Hacker101靶场] RTFM [moderate]

图3:/status

/secrets,状态码403,使用403工具无法绕过。   

[Hacker101靶场] RTFM [moderate]

图4:/secrets

Flag 0

/config路径发现flag。

考察:字典遍历

[Hacker101靶场] RTFM [moderate]

图5:/config

Flag 1

/user界面,使用post请求,加上username&password,成功注册用户,提示去/user/login登录。

考察:测试不同的请求方式   

[Hacker101靶场] RTFM [moderate]

图6:用户注册

Flag 2

提示:Maybe you can edit your profile? but what fields can you change?

/user/login界面post方式进行登录,带上参数username&password,得到token

[Hacker101靶场] RTFM [moderate]

图7:用户登录

使用token,在/user界面使用GET请求,添加X-Token,返回用户信息:

[Hacker101靶场] RTFM [moderate]

图8:X-Token访问/user

根据提示,使用了不同的请求同,使用put请求时,提示没有提交信息。

[Hacker101靶场] RTFM [moderate]

图9:PUT请求/user

添加任意数据体,进行暴力破解,发现参数avatar可以使用:   

[Hacker101靶场] RTFM [moderate]

图10:遍历参数

经过测试,得到avatar=http://localhost/api/v1/secrets里面有Flag

考察:测试不同的请求方式,参数字典遍历。

[Hacker101靶场] RTFM [moderate]

图11:获取private_key

Flag 3

提示:Sometimes developers hide extra features into a page… but how can you access it?   

根据提示,以为在/user界面,对参数进行穷举,没有结果。

然后对所有界面进行参数穷举,在/status界面发现参数verbose=test

考察:参数字典遍历

[Hacker101靶场] RTFM [moderate]

图12:遍历参数

Flag 4

提示:Have you read the new version of the API's documentations?

提示让看api文档,查询文档及测试半天无果,暴力穷举/api/v2发现了/api/v2/user/api/v2/login,功能和/api/v1一致,只是把请求同X-Token换成了X-Session

网上查询,请求swagger.json可以获取用户列表。

考察:测试不同版本api接口,官方文档检索。   

[Hacker101靶场] RTFM [moderate]

图13:获取接口信息

Flag 5

提示:How can you use the same session across multiple different instances and versions?

swagger.json中发现/api/v2/admin/user-list,带X-Session访问,提示不是admin用户。

[Hacker101靶场] RTFM [moderate]

图14:/admin/user-list

/api/v1注册用户,登录后获取token。在/api/v2/admin/user-list中,将获取的token作为session头访问,获取Flag

考察:越权,v1的token是v2的 admin凭证   

[Hacker101靶场] RTFM [moderate]

图15:/admin/user-list越权访问

Flag 6

提示:Some features were never quite finished properly in some versions

swagger.json文件中找到/api/v2/user/post/{id}

[Hacker101靶场] RTFM [moderate]

图16:发现隐藏接口

在v2使用提示权限不够,在v1上使用。

带请求头X-Token访问/api/v2/user/post/1,成功获取Flag。

考察:不同版本api接口,有相同的api路径。

[Hacker101靶场] RTFM [moderate]

图17:/v1/user/posts/1

Flag 7

提示:Take a close look at the returned headers from all of your endpoints, is there anything different about one of them? Maybe theres a second server somewhere? Possibly we can get access to things higher up...

在图17中,analytics参数让访问:

/api/v1/post-analytics/3c8a6664b8203c2e0b2b24972ccf5ce3/

[Hacker101靶场] RTFM [moderate]

图18:访问analytics

经过测试,发现访问下面两个路径会获得相同结果,应该有目录遍历漏洞。

/api/v1/post-analytics/3c8a6664b8203c2e0b2b24972ccf5ce3/..//api/v1/post-analytics/   

[Hacker101靶场] RTFM [moderate]

图19:测试目录遍历

又经过多次测试,下面路径暴露了目录public:

/api/v1/post-analytics/3c8a6664b8203c2e0b2b24972ccf5ce3/../..

[Hacker101靶场] RTFM [moderate]

图20:发现隐藏目录

获取最后的Flag:

/api/v1/post-analytics/3c8a6664b8203c2e0b2b24972ccf5ce3/../..private

[Hacker101靶场] RTFM [moderate]

图20:目录遍历访问隐藏数据

原文始发于微信公众号(Rsec):[Hacker101靶场] RTFM [moderate]

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月15日16:46:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [Hacker101靶场] RTFM [moderate]https://cn-sec.com/archives/2956146.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息