• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • CTF – RootMe解题报告 [App-Script : Bash – System 1]

    渗透测试 EXP 1183阅读 0评论

    挑战入口:Root-Me(https://www.root-me.org/en/Challenges/App-Script/ELF32-System-1)
      分类目录:Link to …(http://exp-blog.com/2019/01/02/pid-2597/2/)

    考察点

    • SUID权限的可执行文件利用
    • 环境变量 PATH 中含有当前路径 “.” 造成的路径胁持
    • 文件权限的传递方式

    解题思路

    先直接用脚本讲解正确的解题步骤,后面再解释这个思路是怎么来的)

    解题误区

    看了评论区,有大部分同学采用了类似这样的一个错误的做法:

    1. 把 ch11.c 复制到 /tmp 目录,然后通过 chmod 赋予自己对 ch11.c 的写权限
    2. 用 vim 把 system 命令的 ls 修改成 cat,在 /tmp 目录重新 gcc 编译得到新的 ch11 脚本
    3. 通过 chmod u+s 赋予 ch11 脚本 SUID 权限,运行 ch11 脚本,最后报错 Permission denied 就做不下去了

    为什么这样做无法提权?其实看一下 /tmp 目录 gcc 编译出来的 ch11 脚本的 owner 就知道了:

    • 新编译的 ch11 脚本的 owner 是当前用户 app-script-ch11
    • 而原本在 app-script-ch11 工作目录的 ch11 脚本的 owner 是 app-script-ch11-cracked

    换言之新编译的 ch11 脚本的 SUID 位还是 app-script-ch11 自身,是没有办法利用 SUID 的特性在执行脚本的过程中提权为 app-script-ch11-cracked 的。


    转载请注明:EXP 技术分享博客 » CTF – RootMe解题报告 [App-Script : Bash – System 1]

    喜欢 (3) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址