nmap
nmap -p- -A -sS -T4 192.168.239.177
Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-15 03:39 UTC
Nmap scan report for 192.168.239.177
Host is up (0.071s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH for_Windows_7.7 (protocol 2.0)
| ssh-hostkey:
| 2048 3e:40:e2:ef:21:ea:c1:77:b6:14:a3:f7:04:59:45:28 (RSA)
| 256 f8:fb:e3:c6:16:3a:e2:62:d0:e2:ae:d4:f2:9e:6f:6d (ECDSA)
|_ 256 94:5e:97:ad:f9:0f:81:b6:6b:3b:bd:98:43:c0:0d:6a (ED25519)
80/tcp open http Apache httpd 2.4.48 ((Win64) OpenSSL/1.1.1k PHP/8.0.7)
|_http-title: WebPage to PDF
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.7
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2019|10 (92%)
OS CPE: cpe:/o:microsoft:windows_server_2019 cpe:/o:microsoft:windows_10
Aggressive OS guesses: Windows Server 2019 (92%), Microsoft Windows 10 1903 - 21H1 (85%), Microsoft Windows 10 1607 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 4 hops TRACEROUTE (using port 22/tcp)
HOP RTT ADDRESS
1 70.41 ms 192.168.45.1
2 70.39 ms 192.168.45.254
3 72.03 ms 192.168.251.1
4 72.05 ms 192.168.239.177 OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 108.27 seconds

只有80 和 22
那么突破口就是80了
这个网站是用来将web界面转化成pdf的

发现存在命令执行漏洞



但是发现除了curl好像其他执行不了

转化完pdf后自动跳转到生成的pdf文件那里

然后发现有个pdfs目录

里面有个私钥



那么我要要找用户是啥



在首页有这么一句话 那么猜测用户是p4yl0ad

果不其然ssh登录成功



ok

我认为下面这个方法才是正常的解法 上面那个方法应该是出题人忘记删了id_rsa 的pdf

这题还有另一种做法就是利用302跳转 做任意文件读取漏洞



我让他去读取我这个hearder的php文件他会跳转到etc/hosts 的文件夹 进行 文件读取

我们尝试一下这个方法

发现成功了!!!

然后利用这个方法读取用户的id_rsa

可以看到 这样也是成功的读取到了 用户的ssh 秘钥

进入提权环节

我信息收集了半天

发现有个 backup目录

同时backup目录下面有一个脚本

脚本的内容是循化备份



当我看到这个内容的时候第一个想到的就是环境变量劫持 或者直接写入提权命令 在这个脚本里面 提权 因为 linux靶机就经常出这种

但是我发现这两个方案好像不太行

然后就无从下手了

不知道要怎么提权了

然后我又发现在历史命令里面有一个比较有意思的命令



CreateSymlink.exe "C:\xampp\htdocs\logs\request.log" "C:\Users\Administrator\.ssh\id_rsa" 这个命令的意思类似于linux 的ln

就是将C:\xampp\htdocs\logs\request.log" 链接到 "C:\Users\Administrator.ssh\id_rsa

那如果这个能执行成功的话

那我们的备份文件将会看到Administrator 的ssh 私钥了

我们找找这个文件在哪里

找不到

直接下载一个

wget https://github.com/googleprojectzero/symboliclink-testing-tools/releases/download/v1.0/Release.7z

7za e Release.7z

然后上传到靶机上

然后执行.\CreateSymlink.exe "C:\xampp\htdocs\logs\request.log" "C:\Users\Administrator\.ssh\id_rsa"等待定时任务触发 应该就能够读取到ssh 的私钥了 但是 他靶场应该出了点问题导致 我执行的时候报错

靶场出问题了,思路懂了就行

Symbolic pg walkthrough Intermediate window 利用302进行文件csrf的更多相关文章

  1. Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题 swfUpload多文件上传

    Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题(转) 我们都知道普通的文件上传是通过表单进行文件上传的,还不能达到异步上传的目的.通过使用某些技术手段,比如jqu ...

  2. 利用其它带文件防护功能的软件防止*.asp;*.jpg写入文件。

    此木马是一个.NET程序制作,如果你的服务器支持.NET那就要注意了,,进入木马有个功能叫:IIS Spy,点击以后可以看到所有站点所在的物理路径.以前有很多人提出过,但一直没有人给解决的答案.. 防 ...

  3. 【转载】 Pyqt 利用QDataStream对文件进行存取

    # -*- coding: utf-8 -*- from PyQt4.QtGui import * from PyQt4.QtCore import * import sys QTextCodec.s ...

  4. Android利用Http下载文件

    Android利用Http下载文件 一.场景 下载存文本文件和下载如mp3等大容量的文件 界面 二.代码编写 1.AndroidMainfest.xml中配置 主要是解决网络权限和写SDCard的权限 ...

  5. EasyUI 关于IE使用window组件上传文件

    有时候IE会对使用window组件上传文件(第二次)不生效,解决方案是: 将该window每次打开的时候,使用: $('#adUploadWindow').window('refresh', 'pan ...

  6. 利用putty实现文件在linux上传和下载

    利用putty实现文件上传和下载:1.打开windows命令提示符窗口d:(putty在d盘下)cd putty(pscp.exe所在目录)2:上传(主要利用pscp程序)pscp d:/jdk-8u ...

  7. Java利用内存映射文件实现按行读取文件

    我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ...

  8. window响应拖拽文件操作

    window响应拖拽文件操作 1.首先调用DragAcceptFiles,让控件或者窗体支持文件拖动操作函数功能:用来为拖放文件作初始化.函数原型: void DragAcceptFiles( HWN ...

  9. [转]利用ssh传输文件

    利用ssh传输文件 http://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html 在linux下一般用scp这个命令来通过ssh传输文 ...

  10. .net上传文件,利用npoi读取文件信息到datatable里

    整理代码,.net上传文件,利用npoi读取文件到datatable里,使用了FileUpload控件,代码如下: protected void Button1_Click(object sender ...

随机推荐

  1. .NET 各版本贡献者列表

    在微信群里看到有同学对.NET 9的贡献者数量有质疑,.NET 这样的一个全场景的应用开发平台,他的生态是很庞大的,自然一起参与开源贡献的开发者也是很大的,但是很多人都不知道一直有这么一个地址是统计了 ...

  2. string,字符串使用指南

    string 创建 创建一个字符串或者字符串数组如下 用 cin 输入,可以读一整串字符直到空格或换行才结束 #include <iostream> using namespace std ...

  3. 鸿蒙开发Hvigor任务简介

    编译构建工具DevEco Hvigor(以下简称Hvigor)是一款基于TS实现的构建任务编排工具,主要提供任务管理机制,包括任务注册编排.工程模型管理.配置管理等关键能力,提供专用于构建和测试应用的 ...

  4. Redis性能优化的18招

    前言 Redis在我们的日常开发工作中,使用频率非常高,已经变成了必不可少的技术之一. Redis的使用场景也很多. 比如:保存用户登录态,做限流,做分布式锁,做缓存提升数据访问速度等等. 那么问题来 ...

  5. Java中的equals()和hashCode()契约

    本文由 ImportNew - 唐小娟 翻译自 Programcreek.如需转载本文,请先参见文章末尾处的转载要求. ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Ja ...

  6. 升级Linux内核版本

    ```shell# 查看内核版本,jw版本ceph默认format=2, 2.x 及之前的的内核版本需手动调整format=1# 4.x之前要关闭object-map fast-diff deep-f ...

  7. RocketMQ系列2:领域模型和技术概念

    ★消息队列16篇 1 领域模型 Apache RocketMQ 是一款典型的分布式架构下的消息中间件产品,使用异步通信方式和发布订阅的消息传输模型. Apache RocketMQ 产品具备异步通信的 ...

  8. 关于IMultiValueConverter的使用

    在前端向后端传递数据的过程中,因为涉及多个属性的调用,将数据绑定到CommandParameter,采用了多值转换器进行数据传递. class MultiBindingConverter : IMul ...

  9. Python 2.7 十六进制字符数组 转 字符串 (字符是Unicode字符)

    有一串十六进制数据,是Uncode字符. import struct strhex='003100310031' buf = strhex.decode("hex") value= ...

  10. 鸿蒙NEXT开发案例:颜文字搜索器

    [引言] 本文将介绍一个名为"颜文字搜索器"的开发案例,该应用是基于鸿蒙NEXT平台构建的,旨在帮助用户快速查找和使用各种风格的表情符号.通过本案例的学习,读者可以了解如何在鸿蒙平 ...