2023/03/31:一些囫囵吞枣式的记录

一些复现(?)
反正就是没做出来的题,在这记录一下,一些反思啥的

hxp CTF 2022 - valentine

这里留下一个官方wp的链接:https://hxp.io/blog/101/hxp-CTF-2022-valentine/
纯英文导致阅读障碍,看的不是很懂,水平可怜,若有问题见谅

首先,当然是判断漏洞类型,这题的注入是<% %>形式,写的时候只知道这好像是模板类的注入,但是尝试后没啥收获,不知道咋入手,下面是官方解答:

emmm没多练是这样的,记得大佬有说过多练提高速度,显然目前的水平还不足以独立的写完
这题要利用的似乎是一个比较新的漏洞

在这篇wp提到了题目的来源(应该这么表达吧),似乎用了一个比较新的方式:

1
$ <.- global.process.mainModule.constructor._load(`child_process`).execSync(`/readflag`).toString() .>

感觉是对症下药式的
以及我以前一直不太注意的Dockerfile也很重要:

1
$ ENV NODE_ENV=production

这个环境变量会在下一步用于缓存获得flag
感觉很新,说实话看得云里雾里的

啊这个更详细https://maoutis.github.io/writeups/Web%20Hacking/valentine/
这里详细地介绍了整个思路和各种尝试

在得知使用了ejs模板后,这个作者发现可以使用一些别的符号代替<% %>,为模板注入提供了可能,就可以用<. .>来注入需要的模板
然后是靠express中的view options重写文件来传入命令?有点懵,不过view options似乎是还未更新可以利用的bug,这两个wp都利用这点

先告一段落