码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [WUSTCTF2020]朴实无华


    查看robots.txt 找到/fAke_flagggg.php

    显然这是个假的flag,但是我们在header处发现了fl4g.php

    近来发现中文全部变成了乱码

     

    插件转成utf8后正常显示

     

    1. header('Content-type:text/html;charset=utf-8');
    2. error_reporting(0);
    3. highlight_file(__file__);
    4. //level 1
    5. if (isset($_GET['num'])){
    6. $num = $_GET['num'];
    7. if(intval($num) < 2020 && intval($num + 1) > 2021){
    8. echo "我不经意间看了看我的劳力士, 不是想看时间, 只是想不经意间, 让你知道我过得比你好.
      "
      ;
    9. }else{
    10. die("金钱解决不了穷人的本质问题");
    11. }
    12. }else{
    13. die("去非洲吧");
    14. }
    15. //level 2
    16. if (isset($_GET['md5'])){
    17. $md5=$_GET['md5'];
    18. if ($md5==md5($md5))
    19. echo "想到这个CTFer拿到flag后, 感激涕零, 跑去东澜岸, 找一家餐厅, 把厨师轰出去, 自己炒两个拿手小菜, 倒一杯散装白酒, 致富有道, 别学小暴.
      "
      ;
    20. else
    21. die("我赶紧喊来我的酒肉朋友, 他打了个电话, 把他一家安排到了非洲");
    22. }else{
    23. die("去非洲吧");
    24. }
    25. //get flag
    26. if (isset($_GET['get_flag'])){
    27. $get_flag = $_GET['get_flag'];
    28. if(!strstr($get_flag," ")){
    29. $get_flag = str_ireplace("cat", "wctf2020", $get_flag);
    30. echo "想到这里, 我充实而欣慰, 有钱人的快乐往往就是这么的朴实无华, 且枯燥.
      "
      ;
    31. system($get_flag);
    32. }else{
    33. die("快到非洲了");
    34. }
    35. }else{
    36. die("去非洲吧");
    37. }
    38. ?>

     第一步 绕过intval()

    显然不存在一个实数n使得n<2020&&n>2020

    通过科学计数法绕过num="3e3",经过intval()解析,结果如下图

    这个绕过只在较低php版本有效

    PHP intval()函数详解,intval()函数漏洞原理及绕过思路_intval函数-CSDN博客

    第二步 绕过md5

    要求一个字符串的MD5值等于字符串本身

    这个比较使用了==,是弱类型判断,也可以通过和第一步差不多的思路,科学计数法0==0绕过。故只要我们找出0e开头且MD5值也是0e开头的字符串即可。

    这一步自己写脚本可能得跑一段时间,但现在我们站在巨人的肩膀上,找到了符合这个条件的字符串 0e215962017

    第三步 绕过空格和cat

    先ls查看flag位置

    这一步就比较简单了,空格可以使用$IFS$9代替

    cat可以使用tac,head,tail,nl替代

    linux中查看文件命令和空格绕过_$ifs$9-CSDN博客 

     

  • 相关阅读:
    【Docker从入门到入土 1】Docker架构、镜像操作和容器操作
    2022-基于树木形态和有限状态机的森林火灾蔓延实时三维可视化
    Linux-gitlab常用命令
    “淘宝拍立淘图片搜索接口:轻松找到同款商品!
    服务器排障(Linux,Windows)
    Redis之Redis基础、环境搭建、主从切换
    Leetcode100.相同的树
    IEEE-754标准float类型在内存中的存储原理
    Python编辑器的选择配置和使用
    计算机图形学入门13:纹理映射常见问题、MipMap
  • 原文地址:https://blog.csdn.net/qq_48932191/article/details/136653063
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号