python 后端WEB 上传漏洞 代码

作者: print("") 分类: python,WEB安全,信息安全 发布时间: 2018-05-31 15:22

昨天没事写了一个python的后端代码。作为任意上传的socket的连接

地址如下: http://good.o2oxy.cn

 

后端代码如下

import tornado.ioloop
import tornado.web
import hashlib
import os
import re
list2=[]
class MainHandler(tornado.web.RequestHandler):
    def get(self,*args,**kwargs):
        self.write("你好")
    def post(self,*args,**kwargs):
        file_metas = self.request.files["fff"]
        print(file_metas)
        for meta in file_metas:
            m = hashlib.md5()
            file_name2=os.path.basename(meta['filename'])
            file = re.findall(r'[^\\/:*?"<>|\r\n]+$',file_name2)
            file_name2=file[0]
            m.update(file_name2.encode(encoding="utf-8"))
            md5_file=m.hexdigest()
            print(md5_file)
            file_name = (m.hexdigest() + '.txt')
            if md5_file=='5a10cc4eadfbec9beb41e4201f8e8d2b':
                print(meta['body'])
                with open("/www/wwwroot/good.o2oxy.cn/%s"%file_name2,'wb') as up:
                    if str('@eval') in  str(meta['body']):
                        self.write("your is hacker this is IP ")
                        continue
                    if str('$_POST') in str(meta['body']):
                        self.write('your is hacker this is IP ')
                        continue
                    if str('phpinfo') in str(meta['body']):
                        self.write("phpinfo")
                    else:
                        up.write(meta['body'])
                        self.write(" is file name good.o2oxy.cn/%s"%file_name)
            else:
                with open("/www/wwwroot/good.o2oxy.cn/%s"%file_name,'wb') as up:
                    up.write(meta['body'])
                    self.write("OK good.o2oxy.cn/%s"%file_name)


application = tornado.web.Application([
    (r"/index.html", MainHandler),
])

if __name__ == "__main__":
    application.listen(1234)
    tornado.ioloop.IOLoop.instance().start()

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。