套娃

——伪协议、加密、Bypass

查看源码发现这一串代码,

substr_count() 函数计算子串在字符串中出现的次数
$_SERVER['QUERY_STRING']
例如:
http://localhost/aaa/index.php?p=222&q=333
结果:
$_SERVER['QUERY_STRING'] = "p=222&q=333";

想绕过去就必须满足我们传入的参数没有_,而且得通过下面代码的匹配,这里就会有一个矛盾,GET传入参数的是b_u_p_t,含有这个_,如何先将这个绕过,后面的绕过正则只需要%0a截断就可以,查了百度,发现可以使用.来代替这个符号,所以payload为:

?b.u.p.t=23333%0a


出现下一关

发现需要Local access,所以应该是需要修改XFF的,而且查看源码发现

直接在控制台执行

POST进去一个Merak,传入参数之后就可以看到源码

仔细分析一下代码会发现,那个change函数就是分割一下字符继续往上加密的,如果我们file传入的是flag.php,那么最后呈现的绝对不是这个文件了,所以我们需要对这个函数进行一下改动让输出的字符最后变成flag.php,这也很简单

只需把这个函数的+号变成-号,将base64解码去掉即可,这样的话file_get_contents这个函数便可以把这个flag.php给显示出来了,那下面就绕过这个就可以了

if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' )


还要注意的是XFF给过滤了,使用Client-ip即可

总结:

除此之外,看了师傅的博客,发现第一层绕过还可以使用来这些来进行绕过

%5F
b.u.p.t(点代替_)
b u p t(空格代替_)

还有就是$_SERVER[‘QUERY_STRING’]不会urldecode,所以一般套路是可以URL编码进行绕过。

除了上面的使用php://input,对于file_get_contents()用data://伪协议也可以绕过

?2333=data://text/plain,todat is a happy day&file=ZmpdYSZmXGI=

你传你

【MRCTF—Web】做题+复现记录相关推荐

  1. 【BJDCTF 2nd—Web】做题+复现记录

    fake google 随便输入然后查看源代码发现 ssti,应该是服务器模板注入,查了一个payload直接就可以查到flag {{().__class__.__bases__[0].__subcl ...

  2. 【BJDCTF 2nd—MISC/Crypto】做题+复现记录

    Crypto 老文盲了 在线汉字转拼音 bì jí dì dà kuò hào zhè jiù shì fǔ lài gē zhí jiē jiāo lè bā dà kuò hào 大 括 号 好好 ...

  3. web做题记录(buuoj,jarvis,攻防世界,bugku,hackme)

    web做题笔记 文章目录 web做题笔记 buuoj easy_tornado 随便注 warmup easysql 高明的黑客 jarvisoj re? flag在管理员手上 api调用 chopp ...

  4. ctf新手总结--web做题

    文章目录 后台目录文件 御剑扫后台目录 dirsearch扫后台文件 Git泄露 bp抓包 Wireshark 后门,菜刀,蚁剑 PHP代码审计 正则表达式 序列化和反序列化 相关函数 相关魔术方法 ...

  5. BUUCTF做题Upload-Labs记录pass-11~pass-20

    BUUCTF做题Upload-Labs记录pass-11~pass-20 -- 上一篇:BUUCTF做题Upload-Labs记录pass-01~pass-10 -- pass-11 白名单上传:'j ...

  6. bugku——web 做题记录

    Table of Contents 2,秋名山车神: 3,速度要快 4 welcome to the bugkuctf 1,login1(sql约束攻击) sql约束攻击: 2,过狗一句话 3,细心 ...

  7. 【2020数模F奖】 美赛C题参赛感受及做题思路记录【编程手的角度,含大量代码及参考链接】

    目录 写在前面的话 题目分析 [数据清洗] [NLTK] [第一题] [第2题e问] [词云]---wordcloud包 [TF-IDF算法] [第2题a.b.c问]需要先对评论数值化 [Textbl ...

  8. 省赛前的做题计划记录

    NOEXCUSES\large NO \ \ \ \ EXCUSESNO    EXCUSES plan 复习&学习 计算几何 半平面交 凸包 动态凸包 旋转卡壳 欧几里得距离转换 DP 斜率 ...

  9. NOI前的做题计划记录

    plan 模拟赛题解 要学&&复习的知识点 李超树 生成函数基础应用 LCT进阶 线段树进阶 四边形不等式 SAM进阶运用 border 分块进阶 树套树进阶 模拟费用流 支配树 wq ...

最新文章

  1. IJCV2021 人脸关键点检测器PIPNet
  2. 用python处理excel数据的优势-python处理excel的优势是什么
  3. 商业研究(7):旅游市场概览
  4. [翻译] NSRegexTester
  5. IT界程序员几大恶习能立即让你变穷,你有吗?
  6. 内部矩阵维度必须一致simulink_简单五步实现 MATLAB/Simulink 锂电池建模
  7. 自学linux指令分析-find
  8. Locations Section of OpenCascade BRep
  9. 【运动学】基于matlab GUI平衡车一阶倒立摆仿真【含Matlab源码 1258期】
  10. AC日记——Sagheer, the Hausmeister codeforces 812b
  11. try-catch(C# 参考)
  12. 【读书笔记】金字塔原理-构建金字塔的层级关系
  13. 电影《中国合伙人》中的管理知识
  14. 解决chrome浏览器打不开
  15. 1024程序员节日背后的神秘面纱
  16. (莱昂氏unix源代码分析导读-19)再谈进程swtch
  17. ajax注解解决中文乱码,基于注解的简单MVC框架的实现,以及jquery,prototype,ajax传输乱码问题的一点解决方法...
  18. AMD显卡安装Caffe|深度学习|Ubuntu
  19. 商业银行业务培训总结
  20. 世界水日|“彩绘春天 守护长江”亲子环保公益顺利举行

热门文章

  1. ipix matlab,IPIX-radar-data-for-matlab 网上提供的IPIX雷达数据导入matlab中用作算法验证等用途 - 下载 - 搜珍网...
  2. java handlersocket_HandlerSocket java客户端
  3. 化工仪表和自动化(自动控制系统)
  4. 时序预测:从两篇高影响力的论文谈起
  5. 商汤科技实习生招募专场 | 与大咖畅聊AI拿OFFER,赢商汤年会入场券
  6. 每周一起读 × 招募 | ACL 2019:基于知识增强的语言表示模型
  7. 线下报名 | NVIDIA JETSON 开发者交流会,走进哈工大!
  8. db2 参数标识符使用无效_在Python应用程序中使用配置的最佳实践
  9. linux 内核load addr,linux2.4启动分析(1)---内核启动地址的确定 vmlinux LOAD_ADDR ZRELADDR...
  10. java对称加密,java异或加密,Java高性能对称加密