目录

  • 一、 第一步
  • 二、 第二步
  • 三、第三步
  • 四、第四步

README

一、 第一步

分析这道题,是要求使判断条件符合,然后输出flag

第一个if语句是不能直接给data赋值Welcome to CTF的,否则会这样无反应:


查了下才知道这是因为有file_get_contents()函数在搞鬼

file_get_contents() 函数把整个文件读入一个字符串中。
所以这里要写成 ?data=data://text/plain,Welcome to CTF
我试了下 ?data=data://text/html,Welcome to CTF也可以

知识点:

text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。

这里就是绕过第一层判断了,开始下一层

二、 第二步

第二层判断是if(md5($_GET['key1']) === md5($_GET['key2']) && $_GET['key1'] !== $_GET['key2']),就是要key1的md5与key2的md5数值和格式完全一致,同时key1不等于 key2或它们类型不相同
这里对初学者的我来说还是有点挑战性的,我先用md5碰撞脚本跑,但是跑不出结果,网上搜索了下才知道
0e绕过只能绕过弱类型比较(==),不能绕过强类型比较( ===)

md5不能加密数组,传入数组会报错,但会继续执行并且返回结果为null,
因此数组绕过不只可以绕过弱类型比较,还可以绕过强类型比较(===)

然后构造链接?data=data://text/plain,Welcome to CTF&key1[0]=123&key2[0]=345

这里就是绕过了第二层判断

三、第三步

if(!is_numeric($_POST['num']) && intval($_POST['num']) == 2077)
可以看出第三层判断是要用post方法输入num,使得num不是数字,且整数部分为2077
这样就可以直接上hackbar,post :num=2077abc

is_numeric() 函数用于检测变量是否为数字或数字字符串。
intval() 函数用于获取变量的整数值。

四、第四步

最后一层是eval()函数,这个函数的作用是返回传入字符串的表达式的结果。也就是说,将字符串当成有效的表达式来求值并返回计算结果。然而,这个题目里面的eval()就有点坑……

eval("#".$_GET['cmd']);中,.#$_GET[cmd]拼接起来了,即把后面的语句注释掉……
因为想到#是单行注释,我试试换行
查了下url表,发现换行url编码是%0a,构造代码cmd=%0a phpinfo();测试查看php信息,要记得代码后面记得加;结束语句!

以上查找phpinfo(),但是并没有flag,那么我就用linux系统命令来一级一级地查文件
构造system('ls')查看当前文件夹,没有flag,不碍事

继续system('ls ../')查看父目录,还是没有

继续system('ls ../../')还是没有flag,耐心继续找

system(‘ls …/…/…/’)再上一级目录……

终于再这个目录找到了它(flag)
构造system('cat ../../../flag')命令查看flag

最终还是得到了flag{766210aa-f32f-4bde-a5ee-051244a8a5fd}

参考文章:
https://blog.csdn.net/weixin_42416812/article/details/90897040
https://blog.csdn.net/wangyuxiang946/article/details/119845182
https://blog.csdn.net/weixin_46329243/article/details/113405669

【Web方向】 PHP代码审计 CTF题目wp1相关推荐

  1. CTF —— web方向思路

    这段时间在刷CTF题目,在做到web方向的时候,一开始面对题目的时候,总有一种束手无策的感觉,在做了一些web题目后,写一下总结希望以后做的时候可供参考 解题大方向   ctf不同于真实实战,有很多题 ...

  2. ctf xor题_从一道CTF题目谈PHP中的命令执行

    原创 Xenny 合天智汇 快睡的时候,打开B站发现有位用户留言,大意就是让我帮忙看一道题,正好当时有空,于是就打开了他发的链接,代码如下 很明显是一道PHP代码审计的题目,而且只需要绕过第三行的if ...

  3. 20220130---CTF WEB方向刷题WP-----网页初始index.php/robots.txt

    练习靶场-攻防世界 更多CTF靶场整理见 https://blog.csdn.net/qq_51550750/article/details/122748075 CTF WEB方向刷题WP-攻防世界- ...

  4. 20220130---CTF WEB方向---命令执行和URL解码

    CTF WEB方向–攻防世界–新手场–11,12两道题 第11题:command_execution--------题目类型:命令执行 先尝试ping一下127.0.0.1: 根据得到的反馈,估计是w ...

  5. CTF题目难度等级划分

    CTF题目难度等级(1-10): 难度等级 描述 用途 例子 最大分值 1 赛题的考点是非常常见的,选手们对于此类赛题可以直接进行解题步骤,并且在较短的时间内得到正确答案.该难度下通常不需要利用额外的 ...

  6. 攻防世界[刷题笔记]之Web方向(练习区)(后半)

    网络安全学习 攻防世界[刷题笔记] Web方向(新手区)(后半) xff_referer webshell command_execution simple_js 小结 攻防世界[刷题笔记] Web方 ...

  7. 攻防世界ctf题目easyupload做题笔记。

    刚刷完upload-labs靶场,做做ctf题目,发现自己掌握的知识并不牢固.做了半天没有解出来,最后还是看别人的题解做出来的.写下做题过程,也就是wp吧.为了方便以后复习巩固. 本题的主要考点为利用 ...

  8. 网络安全web方向入门题合集

    网络安全web方向入门题合集 [HCTF 2018]WarmUp 验证 [极客大挑战 2019]EasySQL [极客大挑战 2019]Havefun [强网杯 2019]随便注 前期工作 堆叠注入查 ...

  9. [网络安全自学篇] 三十一.文件上传之Upload-labs靶场及CTF题目01-10(四)

    这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了编辑器漏洞和IIS高版本文件上传漏洞,包括FCKeditor.eWeb ...

最新文章

  1. 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
  2. 【转】C# 正则表达式 使用介绍
  3. sphinx_Sphinx之谜:如何轻松地编写代码
  4. 电脑怎么分盘win10_电脑时间不对怎么办?Win10电脑时间总是不对的解决方法_电脑故障...
  5. Windows系统 services.msc命令详解,Windows命令行查看本地服务
  6. 别说我不懂排序!几种常见排序算法(一)
  7. eja智能压力变送器工作原理_电量变送器是什么?电量变送器工作原理解析
  8. 佳能c3020维修模式 白电平调整_天禹/TY流量计指示针不动维修附近厂家
  9. Android启动过程概述
  10. 区块链 不可能三角是什么
  11. java程序员必须会的技能
  12. Html监听Fbx文件加载,一些three.js的基础——加载FBX模型
  13. TOP100summit分享实录 | 网易卡爷:实战解读增长黑客在 B 端业务中的应用
  14. 苹果怎么给app上锁_苹果APP日常使用时一直闪退怎么办?
  15. ACT技能编辑器的制作经验
  16. 一套完整的硬件电路设计该怎么做
  17. Oh My ZSH使用教程
  18. rabbitmq用户及vhost配置
  19. QActionGroup - setExclusive(互斥)
  20. Android 自定义控件之圆形页面指示器CirclePageIndicator带划动效果

热门文章

  1. ActiveX 控件注册的几种方法 VC++编写
  2. 如何进行BI工具的选型?2019必看的商业智能工具选型参考
  3. msvcp110.dll丢失修复问题,哪种方便比较靠谱?
  4. 钉H5微应用在IOS下载文件问题
  5. 求知讲堂Java视频 128天完整版 学完可就业
  6. SAP-PP 计划边际码
  7. 历史上最牛的演讲—甲骨文总裁拉里埃里森在耶鲁大学的演讲
  8. 微信公众平台开发视频上传
  9. win7转win10的神舟笔记本的wlan已关闭的解决
  10. 动力环境监控系统论文_机房动力环境监控系统研究综述