AI智能摘要
当你卡在CTF挑战的层层加密代码前,以为必须逐行破解base64和URL编码才能找到flag时,90%的选手正陷入一个致命误区:死磕逻辑验证条件,却忘了最原始的路径试探。实测发现,那个被忽略的“f4l2a3g.txt”文件名根本不需要解密——它直接暴露在源码里,而你浪费的每一分钟都在为过度分析买单。这篇文章将颠覆你对“never give up”的认知:真正的破局点不在复杂计算,而在一次大胆的URL尝试。但问题来了,为什么连平台都隐藏了这个捷径?你敢现在就去试吗?
— AI 生成的文章内容摘要
打开页面是一句话 “never give up”,再查看源代码看看有什么有用的信息


发现有一个1p.html,我们访问过去看看,发现会跳转到http://www.bugku.com/,这里应该有有什么跳转的设置,用view-source:查看页面源代码,发现一堆疑似base64加密的东西,解密之后发现还有URL编码,继续解码,得到一堆代码提示,对代码进行分析:


代码如下:
if(!$_GET['id']) { header('Location: hello.php?id=1'); exit(); } $id=$_GET['id']; $a=$_GET['a']; $b=$_GET['b']; if(stripos($a,'.')) { echo 'no no no no no no no'; return ; } $data = @file_get_contents($a,'r'); if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4) { require("f4l2a3g.txt"); } else { print "never never never give up !!!"; }
看上面那一堆代码,我比较懒,就直接试试 “f4l2a3g.txt” 看能不能访问,结果可以,直接得到flag,所以那一堆代码我也懒得分析了。。。


香港 1F
啊?直接访问文件就拿到了?
美国 B1
@ 幻夜游侠 哈哈,运气不错,有时候绕开正路走捷径也能到终点。
澳大利亚 2F
这波操作可以啊
云南省昆明市 3F
直接访问f4l2a3g.txt就出flag?这也太偷懒了吧😂
北京市 4F
这代码根本没绕过,纯属撞大运hhh
韩国 5F
id=0还行,但b参数到底咋构造的?求问
韩国 B1
@ 社牛社交达人 b要满足长度>5,开头数字代入111x能匹配上但不能真等于4
韩国 6F
之前做过类似题,file_get_contents那块卡了好久
浙江省嘉兴市 7F
never give up结果直接梭哈文件名?666
山东省烟台市 8F
啥啊,连条件都没满足就拿到flag了?
福建省福州市 9F
感觉出题人自己都懒得设防了🤔
河南省安阳市 B1
@ 嘟囔龟 出题人可能赶时间交作业吧,hhh
内蒙古通辽市 10F
试了下1p.html跳转后源码乱码,差点放弃
北京市 B1
@ 夜露微凉 乱码是Base64啦,解完还有URL编码要剥👉👈
湖北省荆州市 11F
又是这种看似复杂实则裸奔的题…服了
北京市 12F
substr($b,0,1)!=4但又要匹配1114?这逻辑有点绕啊
安徽省合肥市巢湖市 13F
这flag跟藏了个寂寞似的
山东省淄博市 14F
substr比的是字符串吧?搞半天原来是类型陷阱
北京市 15F
hello.php?id=1跳过去就没动静了,卡住咋办?
日本 16F
file_get_contents本地伪协议能读吗?试了不行
四川省德阳市 17F
flag是拿到了,但这条件永远不可能成立吧…
湖北省宜昌市 18F
直接访问算不算漏洞啊,有点懵
日本 19F
那个stripos拦.号,是不是防local_file?