0x01 先收集靶机端口,目录信息

1)nmap扫描端口


开启了ssh服务和apache服务,搜索相关漏洞

只有一个ssh用户名枚举,先放着

2)dirb爆破目录

dirb http://192.168.0.102


发现两个可以目录

/dev目录内容:意思让我们更深层次的挖掘目录信息


/wordpress 可知这是一个wp博客

还有管理员登陆页面,但不知道账号密码

0X02 按照以上信息和提示操作

1) dirb爆破

dirb http://192.168.0.102 -X .txt,.html,.php


得到一个secret文件

2) wpscan 扫描wordpress


找到16个疑似注入点,在这里都没什么用

0X03 查看secret文件


让我们Fuzz出正确的参数,查看location.txt文件

0X04 Fuzz参数

使用wfuzz模糊查找参数 (不会wfuzz -h)

wfuzz -c -w /usr/share/wordlists/wfuzz/general/common.txt --hc 404 http://192.168.0.102/index.php?FUZZ=qwer


发现word等于12的很多,过滤 --hw 12

wfuzz -c -w /usr/share/wordlists/wfuzz/general/common.txt --hc 404 --hw 12 http://192.168.0.102/index.php?FUZZ=qwer


得到正确参数file,加载location.txt


得到提示在别的php页面上使用secrettier360参数,之前还爆出来一个image.php页面


成功加载出passwd文件,CTRL+u 查看内容


根据上图得到的信息

浏览http://192.168.0.102/image.php?secrettier360=/home/saket/password.txt

得到密码

follow_the_ippsec

0X04 整理信息

两个账号:saket victor

一个密码:follow_the_ippsec

可能是ssh或者wordpress的

两个账号连接ssh失败,成功使用victor登陆进wordpress管理界面

0X05 通过wordpress获得webshell

查看wordpress编辑器


各样式和插件的编辑器里查找有写入更新权限的文件,只有样式编辑器里secret.php文件可以保存,思路就是编写恶意php代码,使用msf生成恶意php代码


将恶意代码写入secret.php保存,启动msf监听,访问 http://192.168.0.107/wordpress/wp-content/themes/twentynineteen/secret.php

可以看到shell上线


查看版本信息为 4.15.0-76

谷歌搜索 4.15.0-76 kernel exploit

内核提权

随机推荐

  1. Golang - 指针与引用

    ​ Golang有指针 , 那么一切数据都是值传递吗 ? 都需要用户进行指针传递吗, 其实不然, 对于Go语言, 虽然有指针, 但是其也有引用传递. 是不是很绕, 因为引用传递就是指针传递哇 . 我们 ...

  2. try catch finally的理解

    定义以及用法: try/catch/finally 语句用于处理代码中可能出现的错误信息. 错误可能是语法错误,通常是程序员造成的编码错误或错别字.也可能是拼写错误或语言中缺少的功能(可能由于浏览器差 ...

  3. 脚本在Shell可以执行成功,放到crontab里执行失败

    一.背景 自己写了个监控MGR状态的脚本,直接在Linux的Shell环境下可以执行成功,但是只要放到crontab里执行,就失败,脚本内容如下 #!/bin/bash MAIL_ADDR=`cat ...

  4. JWT | io.jsonwebtoken.security.WeakKeyException: The signing key's size is 1024 bits which is not se

    背景 今天集成JWT的时候,选用了PS256算法,在用使用PGP KEY作为私钥JWT进行签名的时候,报了如下错误: "C:\Program Files\Java\jdk1.8.0_161\ ...

  5. 分享数百个 HT 工业互联网 2D 3D 可视化应用案例之 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  6. js中 call() 和 apply() 方法的区别和用法详解

    1.定义 每个函数都包含俩个非继承而来的方法:call() 和 apply()   call 和 apply 可以用来重新定义函数的的执行环境,也就是 this 的指向:call 和 apply 都是 ...

  7. RestTemplate远程调用方法

    概述: spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值 ...

  8. 深入理解windows 消息机制

    深入理解Windows消息机制 今天我们来学一学Windows消息机制,我们知道在传统的C语音程序中,当我们需要打开一个文件时,我们可以调用fopen()函数,这个函数最后又会调用操作系统提供的函数以 ...

  9. sql中常量和变量的引用

    String name =jtf.getText().trim(); String sql="select * from stu where stuname='  "+name+& ...

  10. 深入分析Java反射(三)-泛型

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...