mitmproxy第一次尝试-猿人学第九题
启动
mitmdump -s http_proxy.py -p 9000
替换js代码
# -*- coding: utf-8 -*-
import re
main_url = 'http://match.yuanrenxue.com/match/9' # 9
js_url = 'http://match.yuanrenxue.com/static/match/safety/match9/udc.js'
# http://match.yuanrenxue.com/static/match/safety/match9/udc.js
def response(flow):
if flow.request.url.startswith(main_url):
# if(flow.response.text.startswith('<body>')):
# file_path = "C:/Users/natpacket/Desktop/js/yuanrenxue/9/replace_9.html"
# with open(file=file_path, mode='r', encoding='utf-8') as f:
# replace_js = f.read()
# flow.response.text = replace_js
# print('debugger替换成功')
if (flow.response.text.startswith('<body>')):
# file_path = "C:/Users/natpacket/Desktop/js/yuanrenxue/9/replace_9.html"
# with open(file=file_path, mode='r', encoding='utf-8') as f:
# replace_js = f.read()
# flow.response.text = replace_js
# print('debugger替换成功')
replace_str = r'location.reload\(\)'
replace_str1 = r'setInterval'
replace_str2 = r'}\[[\s\S]*?\)\);'
flow.response.text = re.sub(replace_str, '', flow.response.text)
flow.response.text = re.sub(replace_str1,
'function setInterval(a,b){console.log("正在调用setInterval");};setInterval',
flow.response.text)
# flow.response.text = re.sub(replace_str2,
# "});",
# flow.response.text)
if flow.request.url.startswith(js_url):
file_path = "C:/Users/natpacket/Desktop/js/udc.js"
with open(file=file_path, mode='r', encoding='utf-8') as f:
replace_js = f.read()
flow.response.text = replace_js+"console.log('当前时间戳',Math.round(new Date().getTime()/1000).toString());var _decrypt = decrypt;decrypt = function(a){console.log('时间戳',a);var res = _decrypt(a);console.log('结果',res);return res};"
# flow.response.text="test"
print('js注入成功')
mitmproxy第一次尝试-猿人学第九题的更多相关文章
- 在CentOS上部署Asp.Net MVC3的第一次尝试
关注mono已经很久了,现在才有时间真正的尝试一下在linux中部署asp.net的网站,也算是记录 一下自己的第一次尝试吧. 我的实践的环境是win7 + VM10 + CentOS6.5 下面就是 ...
- B君的第九题
B君的第九题 对于一个排列\(a_1, a_2,\dots,a_n\),如果对于一个i满足\(a_{i-1}<a_i>a_i+1\)则称i是一个极大值.我们认为\(a_0=a_{n+1}= ...
- HDU 6298.Maximum Multiple-数学思维题(脑子是个好东西,可惜我没有) (2018 Multi-University Training Contest 1 1001)
暑假杭电多校第一场,这一场是贪心场,很多贪心的题目,但是自己太菜,姿势挫死了,把自己都写吐了... 2018 Multi-University Training Contest 1 HDU6298.M ...
- DQN的第一次尝试 -- 软工结对编程第一次作业
DQN的第一次尝试 在本篇博客中将为大家形象地介绍一下我对DQN的理解,以及我和我的队友如何利用DQN进行黄金点游戏.最后我会总结一下基于我在游戏中看到的结果,得到的dqn使用的注意事项和这次游戏中我 ...
- CTF---Web入门第九题 FALSE
FALSE分值:10 来源: iFurySt 难度:易 参与人数:4567人 Get Flag:2144人 答题人数:2157人 解题通过率:99% PHP代码审计 hint:sha1函数你有认真了解 ...
- 第一次尝试使用JAVA编写的ATM机程序
package study; import java.util.Scanner; public class ATM { private static int[] users = { 111111, 2 ...
- leetcode第九题--Palindrome Number
Problem: Determine whether an integer is a palindrome. Do this without extra space. click to show sp ...
- c3p0数据源的第一次尝试
开始补习 以前学习过的基础 正在尝试从c3p0 获取到connection 好的,首先上代码吧 public static DataSource ds = null; static { ComboPo ...
- 计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)
A. An Olympian Math Problem 54.28% 1000ms 65536K Alice, a student of grade 66, is thinking about a ...
随机推荐
- 注解式项目开发!详细解析Java中各个注解的作用和使用方式
@Target 作用: 指明了修饰的这个注解的使用范围, 即被描述的注解可以用在哪里 @Target(ElementType.Type) ElementType取值的类型: TYPE: 类,接口或者枚 ...
- SpringBoot实战:10分钟快速搞定环境
什么是 springboot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特定的方式来进行配置,从而使开发人 ...
- ABP Framework 研习社经验总结(6.28-7.2)
ABP Framework 研习社经验总结(6.28-7.2) 研习社初衷 在翻译 <实现领域驱动设计>-- 基于 ABP Framework 实现领域驱动设计实用指南 时,因为DDD理论 ...
- SpringBoot缓存管理(一) 默认缓存管理
前言 Spring框架支持透明地向应用程序添加缓存对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法(包括增删查改等),从而减少操作数据的执行次数(主要是查询,直接从缓存中读取数据),同时不 ...
- k8s-生产环境部署django项目k8s-dashboard管理系统
1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...
- 混沌工程之ChaosToolkit使用之一删除K8s POD
今天我们来玩一下混沌工程的开源工具chaostoolkit . 它的目标是提供一个免费,开放,社区驱动的工具集以及api. 官方源码链接:https://github.com/chaostoolkit ...
- 使用IDEA配置Maven
IDEA中配置Maven File --> settings 推荐配置:设置maven在不联网的情况下使用本地插件 一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网络 ...
- CentOS-常用命令(版本:7.x)
常用命令 注:centos命令不定期持续更新,希望能够帮到你~ 修改主机名 $ hostnamectl set-hostname xxx 查看IP $ vim /etc/sysconfig/netwo ...
- CentOS-Docker搭建GitLab
官方教程 下载镜像 $ docker pull gitlab/gitlab-ce:latest 创建相关目录 $ mkdir -p /home/gitlab/config /home/gitlab/l ...
- fail-fast 与 fail-safe
fail-fast: fail-fast(快速失败),是Java集合的一种错误检测机制.当在遍历集合的过程中该集合在结构(改变集合大小)上发生变化时候,有可能发生fail-fast(快速失败行为不能得 ...