It depends. The easiest would be to use:
+ System: Player.Y+Player.Height÷2 > Box_PushPull.Y
Now you compare the bottom of the Player sprite with the middle(origin) y-position of the box. But if both sprites not at a same level you have to adapt it again. For example the Player and box are not the same level and the box origin is lower than the player bottom then it won't work again.
But it depends what you want. Maybe you won't that the box is movable if player and box aren't level.