nodejs

之前在hackthebox的一次ctf比赛中有一道题考察了原型链污染攻击pug,在做题的时候用AST Injection这种方式又发现了一个未公开的pug&&jade的原型攻击链,和大家分享一下.
在php中,eval代码执行是一个已经被玩烂了的话题,各种奇技淫巧用在php代码执行中来实现bypass。这篇文章主要讲一下nodejs中bypass的一些思路。
因为近段时间包括去年,在打CTF的时候确实有遇到NodeJS的题目,但是从来没系统学习,所以拿到题很懵。不知道应该从什么地方入手,所以决定去学习一下,但是之前没怎么学过JavaScript,语法之类的更是不懂,所以在此之前,花了三五天的时间,一边做题一边恶补了JavaScript的基础。
关于 ejs 和 jade 模板的语句拼接, 官方承认不是一个漏洞, 原型链的危害很大, 但是原型链污染攻击有个弊端,就是一旦污染了原型链,除非整个程序重启,否则所有的对象都会被污染与影响!
前段时间我参加了一场国外的比赛,与国内的web题目以php和python居多不同,感觉国外比赛中考察js尤其nodejs的内容比较多,而这场更是基本都是js题目,觉得有些点比较新奇,这里来分享一下wp。
为什么原型链污染能结合模板引擎能达到这样的效果?模板引擎究竟是如何工作的?除了原型链污染,还有其他方式也能达到同样的效果吗?带着这样的疑问,无恒实验室成员决定对nodejs模板引擎的内在机制进行一些探索。
vm2中在版本的更迭中,存在多种逃逸方法,但是 issue中都没有给出具体的分析,本文通过几个典型的案例来分析这些代码是如何逃逸出vm2的。
vm是nodejs实现的一个沙箱环境,但是官方文档并不推荐使用vm来运行不可信任的代码,vm2则是一个npm包,在vm的基础上,通过es6新增的代理机制,来拦截对外部属性的访问,那么这个沙箱是否安全呢?