当前位置: 首页 > web >正文

vulnyx loweb writeup

信息收集

arp-scan

nmap

这里也可以接其它选项进行深入的扫描,因为我是打完后再写的wp,第一次做的时候我是扫了的,但是我没有得到什么有用的信息,所以写wp的时候我就没放出来了。这里直接去web

获取userFlag

一个默认的apache2 debian的web页面,接下来dirsearch扫一下吧

进这个library后继续用dirsearch扫

发现有用的东西了,访问admin

来到了一个登录页面,那首先测试一下是否存在sql注入,当我在用户名一栏输入 admin' 时页面会变成:

而输入其它的都显示认证失败,那说明这里应该存在一个以单引号包裹的字符型sql注入,我们先直接尝试万能密码登录,用户名那里输入:admin' or 1 -- q

直接就登录上来了,然后就翻翻这个网站吧

然后点到这里的时候会发现url变成了:

那这里我首先就觉得是一个文件包含,然后测试了一下,发现可以读到/etc/passwd

之后我想通过日志文件包含的方式写入webshell的,但是我发现这里居然没有读到日志文件,后来又尝试了一下 data:// 和 php://input 都不行,但是php://filter可以,所以先用它读一下index.php的源码吧,伪协议这里这样写:

php://filter/read=convert.base64-encode/resource=index.php

然后解码后发现后端就是一个include,也没有什么过滤,那之前失败,只能说明这个机器里确实没有日志文件,以及它不允许远程文件包含。也就是说,目前web上只有一个文件包含点,且伪协议这里只有php://filter可用。第一次做到这我是没有办法了,因为那个普通用户的家目录不可读,所以想要拿到userflag我们必须得先拿到webshell即我们必须能RCE,后来查了一下后发现只是使用php://filter也是能够RCE的,具体的原理如果感兴趣的话各位可以自己去查。

想要RCE我们需要用到一个工具:php_filter_chain_generator

基本使用方式:

python3 php_filter_chain_generator.py --chain '一句话木马'

 然后把生成的php://filter传进去后就可以RCE了

然后就可以直接通过busybox调用nc反弹个shell回来了,拿到shell先通过以下命令稳定shell:

# 在反弹 shell 中执行
script /dev/null -c bash  
# 按 Ctrl+Z 暂停
# 在 Kali 终端执行
stty raw -echo; fg  
# 按 Enter 恢复,然后继续在反弹 shell 中执行
reset xterm  
export TERM=xterm  
export SHELL=/bin/bash  
stty rows 40 columns 178     # 可选,调整大小

拿到www-data shell后可以在/opt目录里看到一个monitor.sh文件,cat一下就可以获得 r3dh4ck 用户的密码

su登上去

然后你去家目录里看user.txt是看不了的,因为属主不是r3dh4ck,我们sudo -l看一下

发现可以以任意用户的身份无密码执行chown,那就简单了,直接改user.txt的属主为 r3dh4ck 后查看user.txt即可,userflag:

ed568ec0cd3aef96d4c17a7f02a8391e

获取rootFlag 

这里我的思路是通过chown将/etc/passwd的属主改为r3dh4ck,然后向里面写一个具备root权限的后门用户,然后再把/etc/passwd的权限改回root,然后su切到后门用户上,进入/root获得rootflag

然后用openssh生成一个密码hash,这里我设置的密码是1234

然后通过echo将后门用户追加到/etc/passwd里

然后把/etc/passwd权限恢复,然后su切到backdoor上去

这样就拿到了root shell了,rootflag:

f6a0195e175989b2f9dd92fe4e35d6e4

http://www.xdnf.cn/news/10568.html

相关文章:

  • 12.2Swing中JButton简单分析
  • 05-power BI高级筛选器filter与Values人工造表
  • 【烧脑算法】不定长滑动窗口:从动态调整到精准匹配以灵活特性实现高效破题
  • 第2篇:数据库连接池原理与自定义连接池开发实践
  • 01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
  • 基于GPT-SoVITS-v4-TTS的音频文本推理,流式生成
  • 第12次13: 修改登录密码
  • 《 C++ 点滴漫谈: 四十 》文本的艺术:C++ 正则表达式的高效应用之道
  • Linux学习笔记:shell脚本篇(1)
  • 【基于阿里云搭建数据仓库(离线)】IDEA导出Jar包(包括第三方依赖)
  • Perl One-liner 数据处理——基础语法篇【匠心】
  • Go 语言 + Word 文档模板:WordZero 引擎如何让企业文档处理效率提升 300%?
  • 使命召唤16:现代战争 MOD整合包 豪华中文 免安 离线运行版
  • 做好 4个基本动作,拦住性能优化改坏原功能的bug
  • Hadoop学习笔记
  • 开源的JT1078转GB28181服务器
  • 一次借助ChatGPT抵御恶意攻击的经历,为个人服务器添加自动防御系统Fail2ban
  • Vue 项目创建教程 (开发前的准备工作保姆级辅助文档)
  • 系统调用与程序接口的关系
  • 业务到解决方案构想
  • JVM——从JIT到AOT:JVM编译器的云原生演进之路
  • Modern C++(二)预处理器及表达式
  • 6个月Python学习计划 Day 12 - 字符串处理 文件路径操作
  • 企业级应用狂潮:从Spotify到LinkedIn的Llama实战手册
  • MySQL:视图+用户管理+访问+连接池原理
  • 任务26:绘制1-12月各省份平均气温和预测可视化图形(折线
  • Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术
  • Linux(10)——第二个小程序(自制shell)
  • 7.4-Creating data loaders for an instruction dataset
  • debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt,20250601