byc_404's blog
Do not go gentle into that good night
这周末又当了波国际赛划水懒狗。看了几个比赛难度参差不齐。只有bytebandits的难度确实顶。当时看了下NotesApp没做出来就划水去了。所幸官方很贴心的给了docker的环境。现在把两道WEB复现下,都是很有价值的题目。
好久没做htb的靶机,这次又跟着着大佬的思路去做了一台新的靶机。不同以往的是,这次的靶机Sniper是windows靶机,因此也收获了许多新姿势。就是在中间从github下了不少东西……因为不是假期,具体过程不会像以往那么详细。同时windows靶机下自己不太理解的东西也希望不会给别人带进误区。
有趣的是,这台靶机获得webroot的shell有不同的操作方法,同时具体后面提权时也将有不同的方法进行细节上不同的操作。具体细节将在后面的文章中提到。
这周末顺手打了下两个新生赛。本来不想写wp的,但是想到上周BJD比赛的wp也没写就想着还是补着吧。(上周BJD不写是因为对比赛题目心里有意见,说是新生赛,脑洞跟套娃题把一堆老手都整得不舒服。当时差一道ASP.NET,因为ysoserial的gadget用的不对就一直出不了结果,直接心态搞崩)所以这次把这两个新生赛题目写写。具体只大致讲下思路吧
这几天在buu上疯狂刷题。突然接触到了一个之前没有注意过的知识点。那就是使用Soap进行ssrf。目前做到的几道题个人觉得还是非常有营养的。那么干脆总结下关于php+Soap的相关知识。
p牛参与的项目vulhub,对于web安全从事人员而言应该说是宝库般的存在。里面许多的漏洞都是值得一一去学习的。在此感谢那些大佬为项目作出的付出。才让我们能够轻松复现题目。
环境从github上获取。环境搭建只需docker-compose up -d
命令执行的坑其实早就想填了。最早是因为校赛时,easyphp一题自己因为不熟悉命令执行的一些特性导致套娃题绕到最后一层却没拿到flag。当时十分不爽,下定决心要好好了解下命令执行的相关知识点。
关于命令执行我大体上归为php绕过+rce两类。php的难点主要是在绕过写shell上,而linux的知识主要在RCE达成上。
先从简单说起:
之前校赛web最难的一道题……当时水平菜的看都不敢看,现在按师傅要求来做做这道题。(zjy师傅说这题把php相关知识几乎全考了,看来是很集大成的一道题目。)
题目首先进去后有两个功能,一个是仅限制图片的文件上传点。另一个是用getimagesize()
搭配的读取图片文件信息的功能
首先是源码泄露。在catchmachine.php存在.swp
泄露。然而buuoj上题目并没有泄露,直接看源码好了
因为数模导致本来不打算做week4的题目的,不过当时瞅了一眼sekiro这道题并且看出来是原型链污染(也有叫Node.js污染,javasrcipt原型链污染的)。可惜当时没做过,没深入也没做出来。今天抽空看了下wp才明白。干脆把当时查阅资料学到的知识总结下。
时间线上看,国内最早出现的原型链污染题目应该是出自P牛代码审计知识星球的hard-the js。整体上算比较新的洞。在各种比赛出现频次一般,原因有很多,这点之后再谈。其主要是前端形式的攻击,而且涉及到javascript知识更多些,因此还是要从javascript的角度学习下: