我也不知道这个比喻恰不恰当:
首先是一个城池,我想要控制这个城,就要控制这个城的城主,我手里有控制当前城主的把柄(shell)
但是我要和城主建立起联系才可以控制他,城外有一座大墙(防火墙),会严格检查入城的人(流量审查),所以我不能入城,一旦入城,城里的人可能会发现异样,将城主换掉(打补丁)
不过好在我发现这个城有一个后门,我虽然进不去,但是我把信送进去了,我不去找他,我让城主来找我,我在信上写了我的地址(ip和端口),然后我在预定的位置等待城主的到来(端口监听)
因为城主是城主出城,当然那个大墙拦不住他,所以我们成功建立了联系
反弹shell是让受害者来找攻击者,可以突破大部分防火墙的拦截,而且进行交互的时候没有超时限制,有很多优点,比正向shell安逸多了