python3下载远程代码并执行
第一步:
先在gist之类的网站上贴上代码,目的不是高亮,而可以raw的形式获取代码,这样可以省掉处理html的时间,我这里用的是pasteraw:
远程上的代码:http://cdn.pasteraw.com/6hwu5u4ujhdv5gvyh07qrahb9d0orer
tkinter代码的兼容性真是超好,我基本抄的十年前教程上的代码,其中代码如下,那些奇怪的字符是原型是一个2K的MP3文件:
"""
这个代码主要示范:
1、示范python3如何从远程下载代码并执行
2、示范如何把一个文件转成文本嵌入到程序代码中。
3、示范把字符还原成文件,并调用。这段代码中使用的是base85编码
# 调用方法 import urllib.request; code_url = url; req = urllib.request.urlopen(code_url).read();exec(req)
#运行环境 windows python3.4
#2016年9月1日 11:51:16 codegay
"""
import base64
amp3 = r"""
s5P6?!#0DW?irk8!4Z3Y@0-^#!bBcl]=Z(=Lku)C]=Xdb`(kZokl-G8!K0,aE&\]!EsobJ#N(aK5EtF<ci<KRi1(nIpc`!`arL!PPR$0(7rUdB&!mh,0(;.,5QDK*"Tj6?s5P<A#o/Rd
dU.u!!2*.:'F2>G\SrpF;o4$MIHd=#c-m"ZM?;c5:(t(=U4CV/4nG`BN2Z^Bk[B;Z-m2=d-o(L,ht3o!s75JIVtnO8LjR&'..htts2>^]L]dd&[cr:\@q[G>"omU*`"!T9md;1;-j,4M
jqp@Mc?"c\*PCQ$5g`g6mOV_maK=i&Qg7!YL4@Ttku<Ym?GsBW'<MaC5O?/bs%i5dV5[o*Z5Hqpf73fZrRO[]ZB:NWYPf/Y]uP\cbYk=llV%1b63#sh`![<Kk5IP(7,@qloMNM#^&ao8
nh>_\"%!R6@0f4*`$#(BdM"c46'8:,RAbr+e'mu9ke?<]s7Ce`A@,8;*PmgC$loL@)G>RFeAWG,$lZJFTh<B?!$$Qu2h*r_JdEXUr@e32+N+g.!nQI^;?WEmTcMHX"I`2^j!k"t+B#Ds
:hf@kmE.0/s&U?RGQ3>-E_&n2I2Rj/mma4i7*5Gcs8W,U6_*=!(uYT/0H^K<m9QOc8F$?q16*7`Z/=br"p$2Cg]m^LV$$bX,/aj)F2%>H-q.0h2tT32@3^O6ns#p`'_l3oaAE*t2dB$#
!#M);@/k`sd1\uBo-5.OVMkNJs7W#?a(ko65`B8E7s3q^=5(Cgs8ApBf<%drj:&srgccke$+,kVp*;X&?r@4/iul8L(JD'mp//d*Z/P_I$m5D_+;4^IpoV<\.`ZDUj++W8SfVe8WQ#4e
r^&jIJQo&(ro@,[\+pT0Q''`N_#h5uVuDDMg]!.7aYKljRa-f.&XCA:aU,KEeVqQN*JuoW?reNPj!)DK'No2DIL8J01*ur1"CL<o!Wd66/,rM8s.Z4"kG"aNW)F%=61b2LW3N#[Y^A&+
,TX*la%]q=@%d_m;,rQ;epG0_f/"5UZ@S;\*qh&J&teb--O"$S8QC*<+A<#,PMXHQs5P6?'GME;a9l\qOGROGfF][)P=uGp%Eo=0,"1"*'3M78&J5XO;)FW!2"hSsbm_[=o@??mWM/7K
T]CV&s7WTB:]LIp<AagGs8Ds4_+EK[KG#"qmS$G,1LCPIO?*CUMO$09s5P<A*Y^koe/hL]J8ctV%%0-c,]FI__dOqC5g`H%-*]#0`2`k(`pja(_dT=\?5f6^HU%BSm4[o[:[.iH#App&
ralu-MkGY1Z.(<q2TJ9e"?qRKXDc`_FH$?ZLC9S[pWF,>F8t8C`$lC>hS^L4-ihHpk!M42U)XR7XAc.;lGpPn)=J<sc-0HqR*'94D67E9DV2+?\h1%Jdn&W^l?5UX0i"l\8k-F8VgiX&
euT5dU8H?qobe??>k(]8MQ/@XDaG&:_ao+"q#B@u`%i-kG,,/+5QIcB(]")P`0)8a07;!&+FBKuX'A&rs1ZNr\`qS>4hpIWs5*BTBC"crh-/>/pIIq$@jO]3nPa,#EH9+_o;.^`PtXY%
19*@^aamQ+Q<U["9oN),B^3rE"0V[a+N,oT_d\#:Qp:X]<JG2eaU^b$W!\BH?(-9C(d+S4F\#MeBiU5orpJaTR?:@*d]3f)WuqBAk:2@N[-("@9e>#"29N*3s8W-!CD0T?C=Z8)$C32D
s8F;Wjjj\[$33nV"ciWC,/aj'CA(%3a:J=i.`s5Um)N'_s8U5HXjGu*jY-Z6r2'Gn6YQCobQ%/Q0srH:?hm>^)3Dk\;XHhN\Op$B:r$fQS`3a$i=Kt;lT;qdnL@3u9gpij3ArKEWiE)!
WiE)!WiE*!iul8T!!!*lzWiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE)!WiE'"""
def decodemp3():
bmp3=base64.a85decode(amp3.encode())
with open("my.mp3","wb") as f:
f.write(bmp3)
import os
os.system("start my.mp3")
from tkinter import *
class app:
def __init__(self,master):
frame = Frame(master)
frame.pack()
self.button = Button(frame,text="exit", fg="red",command=frame.quit)
self.button.pack(side=LEFT)
self.hi = Button(frame, text="16年前书上的tkinker代码现在还能跑,点这个按钮会解码文本并弹出播放MP3",command=self.say_hi)
self.hi.pack(side=LEFT)
def say_hi(self):
print("hi~~")
decodemp3()
root = Tk()
a = app(root)
root.mainloop()
第二步:
复制以下代码到IDLE 回车执行,稍等一会可以看到效果。
import urllib.request; code_url = "http://cdn.pasteraw.com/6hwu5u4ujhdv5gvyh07qrahb9d0orer"; req = urllib.request.urlopen(code_url).read();exec(req)
2016年9月1日 10:09:20 codegay
python3下载远程代码并执行的更多相关文章
- WordPress Social Warfare组件 远程代码漏洞执行详细复现
0x00前言 今天在知道创宇上发现3月26日提交WordPress XSS和远程代码执行漏洞,于是试着复现了下远程代码执行漏洞 该漏洞源于Social Warfare组件,并且版本<=3.5.2 ...
- Weblogic CVE-2018-3191远程代码命令执行漏洞复现
0x00 简介 北京时间10月17日,Oracle官方发布的10月关键补充更新CPU(重要补丁更新)中修复了一个高危的WebLogic远程代码执行漏洞(CVE-2018-3191).该漏洞允许未经 ...
- Git使用之二:下载远程代码到本地指定文件夹
一.前期工作: 1.准备好本地的文件夹 2.如果后期需要继续以该文件夹进行同步的,则需要配置该文件夹,方法请参考之前的 Git使用之一:创建仓储和提交文件 二.用clone(克隆方式下载) 在本地下 ...
- mac 利用svn下载远程代码出现Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
终端输出的信息:Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. ...
- “Xavier”安卓木马分析:可静默收集数据并远程代码执行
趋势科技研究发现了一款Android恶意木马——Xavier.在谷歌Play应用市场中,超过800款Android应用感染了该恶意木马,影响数百万Android用户.感染的应用范围覆盖图片编辑器,墙纸 ...
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
Struts2 被发现存在新的高危远程代码执行漏洞,可造成服务器被入侵,只要是Struts2版本 低于 2.3.14.3 全部存在此漏洞.目前官方已经发布了最新的版本进行修复.请将stru ...
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞分析和复现
0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自 ...
- windows RDP远程代码执行_CVE-2019-0708漏洞复现
windows RDP远程代码执行_CVE-2019-0708漏洞复现 一.漏洞概述 2019年5月14日微软官方发布安全补丁,修复了windows远程桌面服务的远程代码执行漏洞,该漏洞影响了某些旧版 ...
随机推荐
- 使用layer.open时content属性传值记录
最近在做一个后台项目,正好碰上了要使用layer.open,就顺手记录一下,方便以后遇到了有个参考 - 2016/11/7 layer 这个是一个web弹层组件,挺好用的...然后项目框架是SSM.. ...
- json_encode 中文乱码
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. 而在PHP5.4, 这个问题终 ...
- 关键字volatile
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存 ...
- css实现定高的元素在不定高的容器中水平垂直居中(兼容IE8及以上)
容器设置相对定位 元素设置宽高,并使用绝对定位,上下左右值均为0,margin:auto 如下所示: <!DOCTYPE html> <html> <head lang= ...
- Centos 与本地终端 上传、下载 文件
首先安装lrzsz # yum -y install lrzsz 1.上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可. # rz 运行rz命令后弹出选择文件窗口,找到要上传的文件 ...
- 1. AE二次开发——地图的基本操作(加载地图文档,加载shape,加载mdb,地图的保存,缩放,漫游)
1. 加载数据Icommand方法 ICommand Butdata = new ControlsAddDataCommandClass(); Butdata.OnCreate(axMapContro ...
- linux shell技巧
一.在SHELL编程中,经常要处理一些字符串变量.比如,计算长度啊.截取子串啊.字符替换啊等等,常常要用到awk.expr.sed.tr等命令.下面给大家介绍个简单的字符串处理方法,用不着嵌套复杂的子 ...
- 2015-01-19 .Net 软件工程师 笔试题
填空题 1.String是__类型(值类型或引用类型) 2.int的基类是__ 3.实现__的类,可以应用foreach语句 4.要输出一段XML文档,用__类来实现能够确保输出正确格式的XML,输出 ...
- Post提交
以下两种Post提交方法都可行 /// <summary> /// post 数据 /// </summary> /// <param name="url&qu ...
- Rank() 、DENSE_RANK()、NTILE(n)的用法-转
Rank() over()/DENSE_RANK() over()的用法 1.Rank() over()/DENSE_RANK() over() 这两个函数与ROW_NUMBER()函数类似,因为 ...