当前位置: 首页 > news >正文

如何建立网站域名/谷歌广告联盟

如何建立网站域名,谷歌广告联盟,深圳科源建设集团有限公司网站,网站建设服务热线要求: PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? widows小皮环境搭建: 使用phpstudy搭建一个网站。 随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境 解题思路: 通…

要求:

PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell?

widows小皮环境搭建:

使用phpstudy搭建一个网站。

随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境

解题思路:

通过webshell.php的代码中我们可以看到,我们传递的一个param的参数长度小于17位,即长度最多十六位,而且里面不能包含eval和assert,最后eval执行。这就是这段代码的含义。

这个题的难度在于其的长度限制。

我们输入?param=phpinfo();查看页面为php正常。

但我们也就只有输入一个phpinfo();了,但是这只是在Windows下不行了,在Linux下继续接着尝试。

Linux环境搭建:

进入nginx下的html文件夹中创建一个web.php文件下输入代码。

cd /usr/local/nginx/html

vim web.php

:wq保存退出,在/usr/local/nginx/sbin下./nginx启动nginx。

浏览器进入该web.php。

再次解题:

输入?param=phpinfo();测试环境搭建成功。

但是跟解题无关,依然只是个php界面,啥用没有,我们输入?param=·$_GET[1]·&1=id,

id通过反引号执行,因为在Linux下反引号是可以执行命令的。

'$_GET[1]'&1=id,这个代码的意思就是将$_GET[1]中的1的参数放在Linux下执行,实际上执行的就是$_GET[id],而这17位主要是'$_GET[1]'这个不能突破17位,而后面的1=id随便写多少位都行。

发现没有任何执行显示,这是因为我们执行了但没有输出,只需在前面加上个echo和;即可,?param=echo `$_GET[1]`;&1=id

这就完成了我们的代码执行转换为了命令执行,再转为whoami查看我们的用户是谁。?param=echo `$_GET[1]`;&1=whoami

若是想要执行其他命令例如rm之类的不能执行到,因为权限不够。

比如我们在tmp下创建一个文件,?param=echo `$_GET[1]`;&1=touch /tmp/ceshi123.txt

在Linux中查看,创建成功,用户及权限都是www-data.

以上就是一个突破长度限制的一个内容,算是最简单的一种技巧,接触过第一次后,就很容易的想到这种办法了,当有长度限制的要求时,Windows下的环境一般不会有,因为大部分99%的公司企业环境都用的Linux,而当一看到长度限制只有几位操作空间的时候就可以想到Linux了。

其他技巧:

当然还有另一种稍微难点的技巧。

web.php?1=file_put_contents&param=$_GET[1](N,P,8);

web.php?1=file_put_contents&param=$_GET[1](N,D,8);

继续追加

web.php?1=file_put_contents&param=$_GET[1](N,w,8);

web.php?param=include$_GET[1];&1=php://filter/read=convert.b ase64-decode/resource=N

这里向param传入的$_GET[1],这个GET[1]接受的参数是file_put_contents,实际GET[1]中写的就是file_put_contents,这个file_put_contents里传了三个参数,N、P、8,N是我们要写的文件名,也就是我们要写进这个文件里去,P是我们一句话木马的一个base64编码,8代表着追加。我们输入web.php?1=file_put_contents&param=$_GET[1](N,P,8);后在Linux中的查看会发现多了一个N的文件,N文件中内容为P,再执行一个web.php?1=file_put_contents&param=$_GET[1](N,D,8);这其实就是将base64编码一个一个往N里面追加。但是在官方文档中这个8是FILE_APPEND,这样就超出长度限制了,根本用不了,8是因为php底层C语言代码中file_put_content函数中的追加是8,所以这里写的8而不是php官方文档中写的FILE_APPEND。这里就是写8的原因而不是写的其他。这里追加的是base64编码而不是其他编码是因为有些特殊字符在file_append中追加不了,比如^?等追加不了。读取是通过php的尾协议用base64-decode解码成一个正常的语句文件包含进去的N里面是可以识别的一句话木马。前提就是得一个一个追加完成后进行一个解码执行。

还有一个web.php?1[]=test&1[]=phpinfo();&2=assert。加上一个usort(...$_GET);即PHP5.6+变长参数 ⇒ usort回调后门 ⇒ 任意代码执行,前提是要进行一个抓包,这里使用的是burpsuite抓包。

抓包结果如下。

对开头得GET修改为POST末尾追加param=usort(...$_GET);加;是因为要传入eval中得,这里usort(...$_GET);一共16位没有超过17位。

这里php5.6可以接收...GET变长参数,usort的回调后门去执行。

然后在action中send to repeater后在repeater中send就可以在旁边看到了。

以上三个方法就是EVAL长度限制突破技巧的一小部分技巧了。

相关文章:

SQL注入之EVAL长度限制突破技巧

要求: PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? widows小皮环境搭建: 使用phpstudy搭建一个网站。 随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境 解题思路: 通…...

稀疏注意力:时间序列预测的局部性和Transformer的存储瓶颈

时间序列预测是许多领域的重要问题,包括对太阳能发电厂发电量、电力消耗和交通拥堵情况的预测。在本文中,提出用Transformer来解决这类预测问题。虽然在我们的初步研究中对其性能印象深刻,但发现了它的两个主要缺点:(1)位置不可知性:规范Tran…...

详谈系统中的环境变量

目录 前言1. 指令背后的本质2. 环境变量背后的本质3. 环境变量到底是什么4. 命令行参数5. 本地变量 与 内置命令6. 环境变量的相关命令 前言 相信在 it 行业学习或者工作的小伙伴们,基本都配置过环境变量(windows环境下),如果你也…...

RAG与LLM原理及实践(11)--- Milvus hybrid search 源码分析及思想

目录 背景 hybrid search 源码分析 WeightedRanker 源码 hybrid search 核心 参数详解 基本入参 扩展入参 aysnc方式代码调用案例 说明 源码逻辑 prepare 调用过程 stub 调用结果 stub 调用过程 blocking 与 async 调用方式 深入内部core weightedRanker 的ch…...

JavaScript模拟空调效果

JavaScript模拟空调效果https://www.bootstrapmb.com/item/15074 在JavaScript中模拟空调效果主要依赖于前端界面的交互和状态变化,因为实际的温度调节、风扇速度调整等硬件操作无法直接通过JavaScript在浏览器中实现。不过,我们可以通过JavaScript来模…...

14.2 Pandas数据处理

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。 ⭐…...

python学习7---多进程

一、介绍 多进程是指在同一程序中创建多个独立的进程来执行任务。每个进程都有自己独立的内存空间,相互之间不干扰。 因为GIL锁的存在,对于CPU密集型任务(例如计算密集型操作),使用多进程可以提高程序的效率。 优点&am…...

基于Spring + Vue的旅游景区项目+源代码+文档说明

文章目录 源代码下载地址项目介绍项目功能界面预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 基于Spring Vue的旅游景区项目 项目功能 民宿管理员:订单数量统计,订单交易额统计,客房统计饼图,酒店…...

Java后端面试题

Redis缓存穿透、雪崩、击穿,布隆过滤器 一致性hash 一致性hash sharding-jdbc实现一致性hash #一致性hash, 应用在mysql数据库的分库分表上, 现在已经完成了分库分表, 现在的问题出现了, 需要继续新增数据库节点, 请…...

【Git】远程仓库新建分支后,拉到本地开发

1. 在远程仓库上创建分支 2. git fetch origin:在本地同步远程仓库的分支(获取远程仓库所有分支的所有修改) 3. git remote -a:查看所有分支(远程+本地) 4. git checkout -b 本地名 远程仓库…...

React H5设置企业级v6版本路由的配置

路由配置是项目开发的必要一环,尤其是目前流行SPA,下面看看如何使用v6版本路由进行合理的H5路由配置 一、基本页面结构(目录根据开发要求建,下面仅用于展示配置路由) 二、具体文件实现 1. index.tsx import React f…...

【微信小程序】全局配置

1. 全局配置文件及常用的配置项 2.window (1).小程序窗口的组成部分 (2). 了解 window 节点常用的配置项 (3). 设置导航栏的标题 (4). 设置导航栏的背景色 (5). 设置导航栏的标题颜色 (6). 全局开启下拉刷新功能 (7). 设置下拉刷新时窗口的背景色 (8).设置下拉刷新时 loading …...

25届秋招网络安全面试资料库

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…...

Adobe Dimension DN v4.0.2 解锁版下载安装教程 (专业的三维3D建模工具)

前言 Adobe Dimension(简称DN)是一款3D设计软件,三维合成和渲染工具,2D平面的二维转为3D立体的三维合成工具,用于3Dmax\C4D\MAYA等三维软件生成的效果图,在3D场景中排列对象、图形和光照。3D应用程序使用的…...

Python中*args 和 **kwargs作参数时有什么区别

*args 和 **kwargs 是 Python 函数定义中用于处理可变数量的参数的语法,初学者对于二者总是傻傻区分不了,今天我们就来详细解读一下这两个在参数传递时有什么不同。 首先要明白单个星号可以解包元组或者列表,两个星号可以解包字典。如&#…...

[CSS3]2D与3D变换技术详解

文章目录 2D变换(2D Transform)3D变换(3D Transform)结语 CSS3中的2D变换与3D变换是指通过transform属性对HTML元素进行几何操作,使其在二维或三维空间中进行移动、旋转、缩放和倾斜等变换。这些变换为前端开发者提供了…...

大恒相机通过Line2或Line3直接给出3.3V触发,形成分时曝光

大恒相机通过Line2或Line3直接给出3.3V触发,形成分时曝光 一、分时曝光需求二、3.3V信号分时曝光设计 写在前面 上班了,没多少时间再去精度论文了,大多是项目上的事情。 一、分时曝光需求 一般的12V光源通过光源控制器与大恒相机Line1线连接…...

electronjs实现打开的网页密码自动保存

在 Electron 中实现自动保存网页密码的功能涉及到几个步骤,以下是一个基本的实现思路: 1. 监听登录事件 首先,你需要监听用户的登录事件。当用户在一个网页上登录后,通常会有一个 POST 请求发送到服务器验证凭据。你可以监听这个…...

观测云的自动化监控:CRD 资源与自动发现

在云原生技术快速发展的今天,Kubernetes已成为企业容器化应用的中心舞台。随着应用的规模化和动态化,传统的监控方法已经难以满足需求。自动化监控,以其高效性和准确性,成为云原生监控的新趋势。观测云平台通过与Kubernetes的深度…...

九、OpenCVSharp 中的图像形态学操作

文章目录 简介一、腐蚀1. 腐蚀的原理和数学定义2. 结构元素的形状和大小选择3. 腐蚀操作的代码实现和效果展示二、膨胀1. 膨胀的概念和作用2. 与腐蚀的对比和组合使用(如开运算、闭运算)三、开运算1. 开运算的定义和用途(去除小的明亮区域)2. 开运算在去除噪声和分离物体方…...

http和websocket

http和websocket是什么 网络通信的协议 区别 http: 只能客户端发送,服务端接收。 websocket: 客户端和服务端都可以发送和接收数据。 链接...

Go 语言错误处理

不管使用哪种语言,程序代码都可能包含各种错误,例如语法错误、逻辑错误、除 0 错误和文件缺失等。因此,每种编程语言都有处理错误的内置机制。 1. Go 程序中的错误 需要指出的是,错误有多种类型。语法错误通常是开发人员在编写代…...

LVS部分配置1

LVS nat服务器(作时间服务器) [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# yum -y install ntpdate [rootlocalhost ~]# ntpdate cn.ntp.org.cn [rootlocalhost ~]# which ntpdate [rootlocalhost…...

datax和datax-web打包成docker运行

概述 datax和datax-web从一台机器迁移到另一台时,要重新搭建一套运行环境,比较麻烦;打包成docker镜像后迁移就方便多了; 因为我的mysql版本是8,需要在datax的read和write中手动添加8的jdbc驱动 所以我先各自下载好了datax和data…...

命令行参数环境变量

目录 前言: 命令行参数: 现象: 这些参数的意义: 为什么要这么做? 这些事是谁做的呢? 环境变量 现象: 创建环境变量: 结合程序理解: 前言: 我们在前…...

『大模型笔记』WizardLM:使大型预训练语言模型能够遵循复杂的指令

WizardLM: Empowering Large Pre-Trained Language Models to Follow Complex Instructions 文章目录 一. WizardLM:使大型预训练语言模型能够遵循复杂的指令二. Evolve-Instruct(优化版)2.1. 概述2.2. 实施二. 参考文献WizardLM:使大型预训练语言模型能够遵循复杂的指令:…...

编程-设计模式 2:抽象工厂模式

设计模式 2:抽象工厂模式 定义与目的 定义:抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。目的:该模式的主要目的是解耦客户端代码与产品类之间的关系,并确保一…...

阿里云智能大数据演进

本文根据7月24日飞天发布时刻产品发布会、7月5日DataFunCon2024北京站:大数据大模型.双核时代实录整理而成,演讲信息如下: 演讲人:徐晟 阿里云研究员/计算平台产品负责人 主要内容: Overview - 阿里云大数据 AI 产品…...

Java面试题———Spring篇①

目录 一,谈谈你对SpringIOC的理解 二,Spring中有哪些依赖注入方式 三,你用过哪些Spring注解 四,SpringBean的作用域有几种 五,Spring中的bean线程安全吗 六,谈谈你对SpringAOP的理解 七,…...

4章10节:用R做数据重塑,变体函数应用详解和可视化的数据预处理介绍

数据重塑(Data Reshaping)是将数据从一种结构转换为另一种结构的过程,是清理、分析和可视化数据的重要步骤。R语言作为数据科学的强大工具,提供了许多包来帮助我们进行数据重塑,其中最常用的就是dplyr包。dplyr包以其简洁的语法和高效的操作速度著称,它不仅可以帮助我们进…...