covfefe 靶机/缓冲区溢出

covfefe

信息搜集

存活检测

image-20231018084618541

详细扫描

image-20231018085004716

后台网页扫描

80 端口

image-20231018085056782

31337 端口

image-20231018085245256

网页信息搜集

  • 分别访问扫描出的网页

  • 说有三个不允许看的内容

    image-20231018085806444

  • 尝试访问

  • 第一个 flag

    在这里插入图片描述

  • 访问 .ssh 文件

    在这里插入图片描述

    继续根据提示访问

    在这里插入图片描述

  • 获取了三个 ssh 文件

ssh 登录

  • 在下载的 id_rsa_pub 公钥文件中发现了用户名

    在这里插入图片描述

  • 尝试利用 id_rsa 私钥文件免密登录

    ssh -i id_rsa simon@10.4.7.142
    

    提示权限太高

    image-20231018174310884

  • 修改权限

    chmod 600 id_rsa
    
  • 再次登录

    提示需要密码

    image-20231018174451099

  • john 解密

    ssh2john id_rsa > pas
    
    john pas
    

    image-20231018174611350

提权

  • sudo -l

    image-20231018203723906

    没权限

  • 查找敏感文件

    image-20231018210645199

  • 查找 suid 权限

    find / -perm -u=s -type f 2>/dev/null
    

  • 缓冲区溢出漏洞

    此程序中

    1. 定义了一个长度为20的字符数组buf作为输入缓冲区。
    2. 使用gets函数来读取用户的输入,并将输入存储到buf中。gets函数没有对输入的长度进行检查,如果用户输入的字符数超过了buf的容量,就会发生缓冲区溢出。
    3. 之后,程序通过strncmp函数将buf中的前5个字符与authorized数组中的内容进行比较。如果相等,则认为用户输入的是"Simon",程序会执行execve函数来执行/usr/local/sbin/message程序。
    4. 如果输入的字符数超过20个,并且第20个字符以后的字符是合法的可执行命令,那么缓冲区溢出会导致程序执行第20个字符以后的命令。

    这种缓冲区溢出漏洞的原理是,当用户输入的字符数超过了缓冲区的容量时,多余的字符会覆盖到缓冲区之外的内存区域。在这段代码中,覆盖到的内存区域包括了函数返回地址以及其他重要的数据。

    由于execve函数的调用是通过函数返回地址实现的,如果覆盖到的内存区域中的内容是合法的可执行命令,那么程序就会执行这段命令。

    运行程序,输入

    SimonAAAAAAAAAAAAAAA/bin/bash
    

    image-20231018222656921

    提权成功

总结

  • ssh 私钥登录
  • 缓冲区溢出提权
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gjl_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值