[Hacker101靶场] HackyholidaysCTF-1[moderate]

admin 2024年7月20日13:08:17评论53 views字数 2664阅读8分52秒阅读模式
本文章仅用于网络安全研究学习,请勿使用相关技术进行违法犯罪活动。
简介:Hacker101是世界上最大的赏金猎人网站Hackerone的教程靶场。
知识点:暴力破解、ZIP密码破解、代码审计等

注:该靶场有12个Flag,篇幅较长,而且前后不影响阅读。所以分为两篇文章。

主页无任何特别信息,网页是循环动画:
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图1:主页
Flag 0
扫描发现/robots.txtFlag 0就在里面。
并且发现隐藏目录/s3cr3t-ar3a
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图2:robots.txt
Flag 1
访问/s3cr3t-ar3a,显示说把页面藏起来了,我们在F12发现隐藏的地址/app-home/Flag 1
注:F12和ctrl+u看到的内容是不同的,F12经过了渲染或代码执行后的代码是。   
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图3robots.txt
靶场列表
/app-home/是靶场列表,共8个独立的靶场:   
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图4:靶场列表
People Rater | Flag 2
进入靶场People Rater。点击第一个按钮,会弹框显示Awful。
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图5:点击弹框
点击了按钮,一定要查看代理或者F12的网络,看看发生了什么。在Burpsuite代理发现,点击时去请求了。 
/people-rater/entry/?id=eyJpZCI6Mn0=,
eyJpZCI6Mn0=使用base64解密为{"id":2},将2改成1,使用base64加密再次请求,获取Flag 2
/people-rater/entry/?id=eyJpZCI6MX0=
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图6:请求id=1
Swag shop | Flag 3
这个靶场要求找到用户信息。
主页是三件商品,点击购买会弹窗要求登录,登录会请求/api/login。   
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图7:弹窗登录
开始以为是越权或者支付漏洞,测试无果。
使用对/api进行目录扫描,发现/api/sessions/api/stock/api/user
  • /api/stock是商品请求接口
  • 请求/api/user/要求输入参数
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图8:/swag-shop/api目录扫描
进入/api/sessions/中,发现很多base64加密的session,逐一解密,只有一个session带了用户名C7DCCE-0E0DAB-B20226-FC92EA-1B9043。   
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图9:/api/session/信息
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图10session解密
/api/user?xx=1的参数进行穷举,发现参数uuid。请求如下链接,得到Flag 3
/api/user?uuid=C7DCCE-0E0DAB-B20226-FC92EA-1B9043
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图11:带uuid参数请求
Secure Login | Flag 4
进入后有个登录框,随意输入用户名密码提示Invalid Username,明显就是暴力破解。
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图12:明显的暴力破解提示
先穷举用户名,再穷举密码。获得用户名密码access | computer。登录后显示如下:   
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图13:登录后主页
经过查找和测试,发现cookie有点不同,使用base64解密后带变admin。
# cookiesecurelogin=eyJjb29raWUiOiIxYjVlNWYyYzlkNThhMzBhZjRlMTZhNzFhNDVkMDE3MiIsImFkbWluIjpmYWxzZX0%3D# base64解密{"cookie":"1b5e5f2c9d58a30af4e16a71a45d0172","admin":false}7
把false改成truebase64加密,然后再请求,发现有个zip压缩包可以下载。
securelogin=eyJjb29raWUiOiIxYjVlNWYyYzlkNThhMzBhZjRlMTZhNzFhNDVkMDE3MiIsImFkbWluIjp0cnVlfQ==
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图14:发现下载包
解压压缩需要密码,放到kali里面进行破解得到密码hahahaha
zip2john my_secure_files_not_for_you.zip  > mysecure.hashjohn mysecure.hash 
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图15:john解密
解压后得到Flag 4
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图16:压缩包内容
My-Diary | Flag 5
要求黑掉日记,发现隐藏的记录。
主页为/my-diary/index.php?template=entries.html,是个日历本,某些日历上有备注:
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图17:日历本
看url,尝试访问/my-diary/index.php?template=index.php,获取到index.php的源码。
这里的index.php我是通过穷举/my-diary/得到的,也可以直接穷举/my-diary/index.php?template=FUZZ。
全代码就补贴了,重点看这几句过滤的代码
  • 先过滤字母数字点的字符,
  • 过滤admin.php
  • 再过滤secretadmin.php
$page = $_GET["template"];//remove non allowed characters$page = preg_replace('/([^a-zA-Z0-9.])/','',$page);//protect admin.php from being read$page = str_replace("admin.php","",$page);//I've changed the admin file to secretadmin.php for more security!$page = str_replace("secretadmin.php","",$page);
重点是要知道每次过滤只过滤一次,比如admiadmin.phpn.php最后的结果就是admin.php。我们要利用我们现在讲解变形过程:
# 我们想访问的文件如下:secretadmin.phpsecretadmin.php会被过滤# secretadmin.php在中间再加一个secretadmin.php# 那么过滤一次后就得到我们想要的。secretadsecretadmin.phpmin.php# 但是admin.php还会被过滤# 在admin.php中间加一个admin.phpsecretadsecretadmadmin.phpin.phpmin.php# 示意图[secretad[secretadm[admin.php]in.php]min.php]
[Hacker101靶场] HackyholidaysCTF-1[moderate]
图18:绕过过滤
感谢观看!   

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

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

发表评论

匿名网友 填写信息