byc_404's blog
Do not go gentle into that good night
这几天在buu上疯狂刷题。突然接触到了一个之前没有注意过的知识点。那就是使用Soap进行ssrf。目前做到的几道题个人觉得还是非常有营养的。那么干脆总结下关于php+Soap的相关知识。
萌新第一次xctf自闭了。
第一次代表X1c打比赛,结果输出贼低,几乎就完整贡献一道题。有几道基本到位了也没做出来,没能分担队友压力…..但是最后队伍拿到第8名挺强的,其他师傅太给力了,中间有段时间还冲到了第四名,只不过大家因为要上课就都睡觉去了hhh。
所以趁着其他战队的wp出来自己先把几道自己当时接触了的题目以及没完整做出来的题目小结下。顺便提醒自己要加紧查漏补缺了。
第一次 XCTF 就自闭了。最难受的就是队友辛苦付出,自己却基本没啥输出……
之前公益赛还以为有了一定水准,现在看还差得远啊。
所以一定要一定要尽快把能力提升起来,刷题固然重要,知识点也不能落下。
这次比赛打下来发现自己居然只能在sql跟Node.js下手,太嘲讽了。
把近期一些需要彻底弄懂的知识点列一下,总有一天要全部解决。
p牛参与的项目vulhub,对于web安全从事人员而言应该说是宝库般的存在。里面许多的漏洞都是值得一一去学习的。在此感谢那些大佬为项目作出的付出。才让我们能够轻松复现题目。
环境从github上获取。环境搭建只需docker-compose up -d
命令执行的坑其实早就想填了。最早是因为校赛时,easyphp一题自己因为不熟悉命令执行的一些特性导致套娃题绕到最后一层却没拿到flag。当时十分不爽,下定决心要好好了解下命令执行的相关知识点。
关于命令执行我大体上归为php绕过+rce两类。php的难点主要是在绕过写shell上,而linux的知识主要在RCE达成上。
先从简单说起:
今天来填下NodeGame的坑吧。这道题确实出的很难。记得当时比赛中也只有大概8位师傅做出来。而实际上,很多师傅应该都是有思路与参考题目,但是最终被小细节所影响的。
这里给出出题人自己的出题思路:http://blog.5am3.com/2020/02/11/ctf-node1/#%E8%87%AA%E5%B7%B1%E5%87%BA%E7%9A%84-node-game
其中一道他参考的国际赛题目wp:
https://r3billions.com/writeup-split-second/
之前校赛web最难的一道题……当时水平菜的看都不敢看,现在按师傅要求来做做这道题。(zjy师傅说这题把php相关知识几乎全考了,看来是很集大成的一道题目。)
题目首先进去后有两个功能,一个是仅限制图片的文件上传点。另一个是用getimagesize()
搭配的读取图片文件信息的功能
首先是源码泄露。在catchmachine.php存在.swp
泄露。然而buuoj上题目并没有泄露,直接看源码好了
因为数模导致本来不打算做week4的题目的,不过当时瞅了一眼sekiro这道题并且看出来是原型链污染(也有叫Node.js污染,javasrcipt原型链污染的)。可惜当时没做过,没深入也没做出来。今天抽空看了下wp才明白。干脆把当时查阅资料学到的知识总结下。
时间线上看,国内最早出现的原型链污染题目应该是出自P牛代码审计知识星球的hard-the js。整体上算比较新的洞。在各种比赛出现频次一般,原因有很多,这点之后再谈。其主要是前端形式的攻击,而且涉及到javascript知识更多些,因此还是要从javascript的角度学习下:
发现buuoj上安洵2019的题目有现成的,不用在vps上搭了(第一题除外,搭好才发现……),刚好做做。