phpstudy

Bulehero 蠕虫病毒安全分析报告

十年热恋 提交于 2020-08-17 08:00:31
作者:answerboy @知道创宇404积极防御实验室 时间:2020年8月5日 1 概述 近日知道创宇404积极防御团队通过知道创宇云防御安全大数据平台(GAC)监测到大量利用Struts2、ThinkPHP等多个Web组件漏洞进行的组合攻击,并捕获到相关样本,经分析确认该样本为Bulehero蠕虫病毒。目前该Web攻击均被创宇盾拦截;知道创宇NDR流量监测系统也已经支持检测所有相关恶意IOC及流量。 2 追溯分析 2.1 发现攻击 2020年7月26日,通过日志分析发现IP: 47.92.*.* (北京)、 119.23.*.* (广东)、 117.89.*.* (南京)等多个IP对客户网站发起Web漏洞攻击,通过远程下载并执行恶意文件Download.exe,如下: ThinkphpV5进行攻击: Tomcat PUT方式任意文件文件上传: Struts2远程命令执行: 经过分析,发现Download.exe为下载器,执行流程如下: 图1-执行流程 2.2 详细分析 2.2.1 Download.exe Download.exe作为下载器,攻击成功之后会继续前往 http://UeR.ReiyKiQ.ir/AdPopBlocker.exe 下载AdPopBlocker.exe到系统TEMP目录并创建名为Uvwxya和fmrgsebls的计划任务来实现自启动,如下: 图2

PhpStudy+Xdebug调试超时500解决方法 Apache2.4调试时间太短的问题

三世轮回 提交于 2020-08-15 10:47:00
PhpStudy+Apache(Fastcgi)+Xdebug调试时间过长出现500时解决方法,有时再用xdebug调试程序时,由于调试时间过长会出现500服务器错误的现象,根本原因在于apache默认的连接时间过短导致。 PhpStudy+Apache(Fastcgi)+Xdebug调试时间过长出现500时解决方法 一 . 问题现象 有时再用xdebug调试程序时,由于调试时间过长会出现500服务器错误的现象,根本原因在于apache默认的连接时间过短导致。 二 . 适用于 中间件:Apache(Fastcgi) 错误日志为:End of script output before headers 三 . 解决方法 1.打开apache配置文件注释掉如下,并添加一行。 # Various default settings Include conf/extra/httpd-default.conf 将注释去掉 Include conf/extra/httpd-fcgid.conf 添加此行 2. 更改httpd-default.conf如下内容 # Timeout: The number of seconds before receives and sends time out. # Timeout 3600 # # KeepAlive: Whether or not to

简单使用Laravel-admin构建一个功能强大的后台管理

爱⌒轻易说出口 提交于 2020-08-14 10:35:11
Laravel-admin可以快速构建一个功能强大的后台,方便快速开发。 以下内容记录简单使用Laravel-admin,以及遇到小错误的解决方法。 Laravel-admin 依赖以下环境 需要提前装好(安装的Laravel-admin版本为1.5) 1 2 3 Apache+PHP+MYSQL (这个不作解释... 注意需要PHP 7+ 推荐使用phpstudy集成环境) Laravel (5.5+) Composer 以上环境如PHP/Composer需要设置好系统环境变量 先使用Composer命令安装Laravel ,命令如下(用cmd或者Git先进入到想要安装的目录) 1 composer create-project --prefer-dist laravel /laravel Laravel-admin 5.7.* 如果觉得安装速度慢,可以改一下镜像地址 参考:https://pkg.phpcomposer.com/ 安装完成即显示: 然后在安装时指定的目录会有一个Laravel-admin文件夹 此时需要设置一下Apache 网站目录设置为Laravel-admin下的public 使用的是phpstudy集成环境,所以在phpstudy中点击[其他选项菜单]=>[站点域名管理] 设置内容: 接下来需要设置一下系统hosts,使用集成环境phpstudy可以在

空指针-Base on windows Writeup -- 最新版DZ3.4实战渗透

时间秒杀一切 提交于 2020-08-12 01:25:07
作者:LoRexxar'@知道创宇404实验室 时间:2020年5月11日 周末看了一下这次空指针的第三次Web公开赛,稍微研究了下发现这是一份最新版DZ3.4几乎默认配置的环境,我们需要在这样一份几乎真实环境下的DZ中完成Get shell。这一下子提起了我的兴趣,接下来我们就一起梳理下这个渗透过程。 与默认环境的区别是,我们这次拥有两个额外的条件。 1、Web环境的后端为Windows 2、我们获得了一份config文件,里面有最重要的authkey 得到这两个条件之后,我们开始这次的渗透过程。 以下可能会多次提到的出题人写的DZ漏洞整理 这是一篇“不一样”的真实渗透测试案例分析文章 authkey有什么用? / ------------------------- CONFIG SECURITY -------------------------- // $_config['security']['authkey'] = '87042ce12d71b427eec3db2262db3765fQvehoxXi4yfNnjK5E'; authkey是DZ安全体系里最重要的主密钥,在DZ本体中,涉及到密钥相关的,基本都是用 authkey 和cookie中的saltkey加密构造的。 当我们拥有了这个authkey之后,我们可以计算DZ本体各类操作相关的formhash

使用nodejs连接mysql数据库实现增删改查

非 Y 不嫁゛ 提交于 2020-08-12 00:41:48
首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 express ,这个项目里使用express 因为express实现路由比较方便 cnpm install mysql express --save 已经安装好mysql和express 接下来创建app.js 在app.js里引入express并实例化express对象 在app.js里引入mysql 开启一个服务器 接下来创建连接 使用db.connect()方法连接 ,这个方法接收一个参数 有错误就报错 创建数据库 在一个路由里写sql语句 使用db.query来执行sql语句 db.query()方法有两个参数 ,第一个参数是要执行的语句 第二个参数是个回调函数 回调函数里可以接收错误信息,也有执行后回来的信息 依然是错误优先 接下来在浏览器里访问127.0.0.1:3000/createdb 页面上显示创建成功 数据库里已经有nodemysql数据库了 这个时候就可以在配置连接数据库里加上当前的数据库了 创建表 也是在一个路由里写sql语句 类型是 int 数值 AUTO_INCREMENT 让id 自增, VARCHAR(255) 字符串 长度255,PRIMARY KEY(ID

防御sqlmap攻击之动态代码防御机制

ⅰ亾dé卋堺 提交于 2020-08-11 14:13:40
关于动态代码防御机制,是自己瞎取的名字,目前我还没有看到过类似的文章。如果有前辈已经发表过,纯属巧合!!!我仅是突发奇想的一个想法,说不上高大上。也就是想说出这个想法。说不定各位在座的大佬有更好的想法去完善这个方案! 动态代码防御机制介绍 现在的各种攻击都是针对静态代码的攻击,例如接受用户名和密码的处理语句:select * from users where id=’id’ and pwd=’pwd’。攻击者总可以想到一种方式进行攻击或者绕过,因为后端代码是写死了的,他只能按照这种方式处理,所有难以有所避免的(当然web防火墙和代码过滤也能解决,但是这里我想说的就是动态防御机制这个核心思想)。随着时代的发展也诞生出一批相当优秀的工具,例如作为sql注入的神器sqlmap,便能轻轻松松对安全防护比较弱的网站发起攻击。甚至还能直接上传文件、获取shell等操作。 由于后端代码是静止的,因此攻击者可以通过不断尝试获取数据库的的信息。如下图: 这种工具的诞生也给攻击者带来了便捷,能够很方便的对一个网站发起攻击,大多数情况下,会使用sqlmap先走一波看看啥情况,然后再人工分析。这时候想,如果后端代码是动态随机的,那么会有什么情况?这样后端代码就活动起来了,给攻击者无论是使用工具或者人工分析都带来困难了。要想注入成功,那就需要各位仁兄运气了! 如果后端代码是动态运行的

使用nodejs连接mysql数据库实现增删改查

余生长醉 提交于 2020-08-11 02:47:37
首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 express ,这个项目里使用express 因为express实现路由比较方便 cnpm install mysql express --save 已经安装好mysql和express 接下来创建app.js 在app.js里引入express并实例化express对象 在app.js里引入mysql 开启一个服务器 接下来创建连接 使用db.connect()方法连接 ,这个方法接收一个参数 有错误就报错 创建数据库 在一个路由里写sql语句 使用db.query来执行sql语句 db.query()方法有两个参数 ,第一个参数是要执行的语句 第二个参数是个回调函数 回调函数里可以接收错误信息,也有执行后回来的信息 依然是错误优先 接下来在浏览器里访问127.0.0.1:3000/createdb 页面上显示创建成功 数据库里已经有nodemysql数据库了 这个时候就可以在配置连接数据库里加上当前的数据库了 创建表 也是在一个路由里写sql语句 类型是 int 数值 AUTO_INCREMENT 让id 自增, VARCHAR(255) 字符串 长度255,PRIMARY KEY(ID

xss小游戏源码分析

℡╲_俬逩灬. 提交于 2020-08-10 21:54:36
配置 下载地址: https://files.cnblogs.com/files/Lmg66/xssgame-master.zip 使用:下载解压,放到www目录下(phpstudy),http服务下都行,我使用的是phpstudy 第一关 查看源码: <!DOCTYPE html> <head> <meta charset="utf-8"> <script> window.alert = function() { confirm("哎哟 不错哦!"); window.location.href="level2.php?keyword=跨站师"; } </script> <title>第1关</title> </head> <body> <h1 align=center>第1关 先热个身吧</h1> <?php ini_set("display_errors", 0); $str = $_GET["name"]; echo "<h2 align=center>欢迎用户:".$str."</h2>"; ?> <center><img src="https://dn-coding-net-tweet.codehub.cn/photo/2019/8deed969-b339-4c84-8654-b1a1e40e06de.png" width="50%"></center> <?php

mysql无法本地、外网同时访问 Host is not allowed to connect t

杀马特。学长 韩版系。学妹 提交于 2020-08-10 20:08:12
mysql无法外网连接 Host * is not allowed to connect to this MySQL server 在本机登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为'%'。 代码如下 mysql> mysql>use mysql; mysql>select host from user where user='root'; mysql>update user set Host='%' where User='root'; #查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) Linux中的mysql,user值为root的,有三条记录 修改了这条有密码的记录,重启mysql服务后,数据库能远程访问。 但是控制台就无法登录mysql了。 原因是,user表中其它几条记录影响了,全部删掉,只留下有密码的这一条记录即可。 2018年12月8日,客户用phpStudy,用了上述方法,只剩下一条root的,127.0.0.1无法登录,用localhost就可以登录,执行这个命令,其实就是在user表里添加一条记录 grant all privileges on . to 'root'@'127.0.0.1' identified by 'tXkj-8002-vErygood';