[安洵杯 2019]easy_web
发布日期:2021-05-15 06:55:06 浏览次数:12 分类:精选文章

本文共 666 字,大约阅读时间需要 2 分钟。

安洵杯 2019 - easy_web

考点与思路

本次题目主要考察以下技能:

  • 编码与解码能力
  • MD5碰撞绕过
  • RCE(远程代码执行)绕过
  • 解题思路

    打开题目链接,初步浏览发现并无明显有用信息。观察URL参数中的 imgTXpVek5UTTFNbVUzTURabE5qYz0,这串字符看似经过Base64编码。在此基础上,我们尝试对其进行双重解码,首先用Base64解码,再将结果转换为十六进制字符串,最终得到 555.png

    进一步分析发现,题目实际提供了 index.php 文件的Base64编码。我们尝试将 index.php 转换为十六进制字符串,再将其作为 img 参数传递,发现可以获取到 index.php 的源码。

    分析源码发现,存在多处限制条件:

  • 通过 preg_match("/flag/i", $file) 检查是否存在 flag 字符串,若存在则提示失败。
  • 禁用了多种读取文件的命令,如 catvi 等。
  • 对命令执行部分进行了严格限制。
  • 解决方案

  • 利用 fastcoll_v1.0.0.5.exe 进行MD5强碰撞绕过验证。
  • 通过 /flag/bin/cat flag 绕过文件读取限制。
  • 利用 sort 命令对文件内容进行分析。
  • 最终,通过构造合适的参数,成功绕过了所有限制,提取出目标 flag 文件。

    注意事项

    • 由于 preg_match 检查 flag 字符串,直接读取文件可能失败,因此需结合命令执行绕过。
    • 多种命令被禁止使用,需谨慎选择绕过方法,如反斜杠转义或替换命令执行路径。
    上一篇:[安洵杯 2019]不是文件上传
    下一篇:MD5绕过

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年05月02日 19时36分27秒