TleChat网站插件是一个发布到wordpress,typecho和emlog社区上的站长聊天插件,站长聊天室插件为站长和用户提供聊天室功能,让站长与用户之间的联系更加友爱,支持文本、长文本、语音聊天、图片传输及站长之间的QQ、微信、支付宝打赏,共同建立一个友爱的联盟。

看了看 emlog 论坛上的状况,发现一名作者开发了一款站长聊天的插件,小东之前写过一款简单的聊天应用“Anychat”,体验地址:http://chat.top15.cn ,感觉写着还是比较麻烦的,感觉插件不错,下载的人也那么多,也下载下来瞅瞅,学习。

一般来说,一个聊天程序,容易存在XS,SQL注入的漏洞,看了一遍源码,对于参数都使用了addslashes()函数进行转义。

0x01 上传安装插件

发现还不错,界面设计,支持按住说话(上传声音文件吧),上传文件

既然支持上传文件,那么就很有可能存在“文件上传”相关的漏洞

0x02 挖掘漏洞

本地配置了Emlog的环境,所以就下载了 emlog 版本的插件

下载地址: http://www.emlog.net/plugin/333

content/plugins/TleChat/chat/upload.php, 一看文件名就知道是上传文件的,打开瞅瞅

主要代码:

<?php
header("Content-type: text/html; charset=utf-8");
require_once '../../../../init.php';
date_default_timezone_set("Etc/GMT-8"); $action = isset($_POST['action']) ? addslashes(trim($_POST['action'])) : '';
var_dump($action);
if($action=="ip"){
echo client_ip(0,true);
}else if($action=="audio"){
$mp3Name = isset($_POST['mp3Name']) ? addslashes(trim($_POST['mp3Name'])) : '';
move_uploaded_file(@$_FILES['file']['tmp_name'], dirname(__FILE__)."/upload/audio/".$mp3Name);
echo BLOG_URL."content/plugins/TleChat/chat/upload/audio/".$mp3Name;
}
 

可以看到,虽然都做了addslashes()函数的转义,但是文件操作使用了move_uploaded_file(),重要的一点是

并没有判断文件后缀 !!!

所以,任意文件上传漏洞是存在的!

0x03 验证漏洞 + exploit

因为只是任意文件上传,所以简单写了一个利用网页(文末可下载),直接利用吧!

选择自己的 shell.php小马文件,大马文件都可以,然后填写上传到存在漏洞服务器上的文件名,然后上传

返回如下结果:

string(5) "audio" http://www.test.com/content/plugins/TleChat/chat/upload/audio/dyboy.php
 

访问链接,OK,成功上传~

0x04 总结

作者的插件写的很棒,安全问题也不可小觑,产品上线之前,一定要安全测试!!!最近一直在忙学校学习,以及一些创新创业的比赛,也在忙一些开发项目,小程序定制开发可联系小东!QQ:1099718640

0x05 附件下载

插件+Exploit:https://www.lanzous.com/i3roowf

通过TleChat插件一键Getshell的更多相关文章

  1. 看我是如何利用升级系统一键GetShell

    i春秋作家:小猪 原文来自:看我是如何利用升级系统一键GetShell 漏洞名称:看我是如何利用升级系统一键GetShell 程序下载地址:https://pan.baidu.com/s/1VdoPL ...

  2. PR全套插件一键安装

    PR全套插件一键安装,无需注册码软件也是我在别的地方搬来的,自己用着很好,决定分享出来! 我的PR版本是2019,用着没有任何问题.我没有安装其他版本PR,所以无法测试,不过应该是可以用的. 使用截图 ...

  3. ckeditor自定义插件--一键给所有的图片添加链接

    ckeditor自定义插件在网上查了查,感觉还是比较好用的,写了一个一键给编辑器中的所有图片添加链接. 在ckeditor目录下的plugins下建以插件为名的文件夹,在里边建plugin.js文件, ...

  4. phpcms9-6-0 一键getshell工具

    介绍 一键化python 1.py http://xxx.com,如果是批量直接运行py文件即可 待办 [] 加入对有验证码phpcms网站的支持 [] 加入批量(已完成) 说明 依赖库的安装pip ...

  5. Firefox插件一键切换兼容IE

    转载:http://mozilla.com.cn/thread-42137-1-1.html 让火狐兼容IE的双核扩展,一键切换至IE内核,网银支付无忧愁.支持Adblock plus和FireGes ...

  6. Chrome插件——一键保存网页为PDF1.0发布

    最新版本:V1.1 下载地址:http://download.csdn.net/detail/bdstjk/5722317 发布时间:2013-7-8 版本号:1.1.7.80 更新内容: 1.增加检 ...

  7. ​IntelliJ IDEA使用技巧—使用EasyCode插件一键生成代码04期

    在现如今的软件开发过程中,软件开发人员将很多的精力放在重复的编码中.特别是流行的MVC架构模式下,项目各个层次的功能更加独立,这也间接的造成了代码的相似度更高.因此需要寻找一种可以减少软件开发人员重复 ...

  8. 帝国cms插件 一键替换数据表中已发表文章的内容关键字

    你是不是也在优化网站,是不是网站发展了一段时间之后才来做优化的,这样当然就会导致已经发表文章里的内容关键字,不能得到替换了! 小编根据后台替换内容关键字的程序,重写了一段 通过运行单个页面就能直接替换 ...

  9. 使用sublime一键格式化XML文件

    1 sublime简介 sublime是一款代码编辑和阅读软件,体积小,运行快,界面非常简洁漂亮.官方地址:https://www.sublimetext.com/ 2 在sublime上安装插件 使 ...

随机推荐

  1. 创建简单web项目

    Intellij Idea直接安装(可根据需要选择自己设置的安装目录),jdk使用1.6/1.7/1.8都可以,主要是配置好系统环境变量,tomcat7上tomcat的官网下载压缩包解压即可. 一.创 ...

  2. Vue点击按钮下载对应图片

    最近有用到点击某个按钮 自动下载对应图片,可是对于浏览器不同的问题,会有‘个别’浏览器出现不能下载的或者下载的效果不同等的问题, 可以直接用创建canvas方法: 定义图片地址Img: "w ...

  3. 春节前“摸鱼”指南——SCA命令行工具助你快速构建FaaS服务

    春节将至,身在公司的你是不是已经完全丧失了工作的斗志? 但俗话说得好:"只要心中有沙,办公室也能是马尔代夫." 职场人如何才能做到最大效能地带薪"摸鱼",成为了 ...

  4. equals与hashcode分析

    我们经常在面经中看到这样的问题,为什么重写equals方法就一定要重写hashcode方法.本文就是分析这个问题. <!--more--> 在阿里巴巴java开发手册中就给出了这样的规则. ...

  5. IDEA--安装

    1:下载IDEA 官网:http://www.jetbrains.com/idea/download/#section=windows(选择下载.zip) 2:解压 3:破解: 1)在C:\Windo ...

  6. javacv 设置帧率(续)

    前文地址:https://www.cnblogs.com/svenwu/p/9663038.html 前文已经对大多数正常情况可以支持了,但是我最近处理一些公司的视频流,发现一些坑爹的情况 每次给的视 ...

  7. C++优先队列详解

    转自csdn的文章,仅作为学习笔记.原文链接:https://blog.csdn.net/weixin_36888577/article/details/79937886 普通的队列是一种先进先出的数 ...

  8. URL&HTTP协议详解

    本文来自公开课笔记,主要做知识的记录,谢谢! ·接口测试核心技术--URL&HTTP协议详解. ·URL: 统一资源定位符. 示例: https://ke.qq.com/course/3157 ...

  9. It can be a face application using SeetaFace and Qt.

    之前编译了一下SeetaFace的库,用于人脸检测.特征点定位和人脸识别的功能,然后昨天就用Qt写了一个软件用于实现. 工程的文件还是比较简单的,一个界面类和一个SeetaFace的线程类而已.这里主 ...

  10. 对比Node.js和Python 帮你确定理想编程解决方案!

    世上没有最好的编程语言.有些编程语言比其他编程语言用于更具体的事情.比如,你可能需要移动应用程序,网络应用程序或更专业化的系统,则可能会有特定的语言.但是我们暂时假设你需要的是一个相对来说比较简单的网 ...