CTF知识点总结(二)
异或注入:两个条件相同(同真或同假)即为假。
http://120.24.86.145:9004/1ndex.php?id=1'^(length('union')!=0)--+
如上,如果union被过滤,则 length('union')!=0 为假,那么返回页面正常。
2|0updatexml() 函数报错注入
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
注入语句示例:
select name from user where id=1 and updatexml(1,concat('~',(select database()),'~'),3);
注入原理:这个函数的第二个参数需要Xpath格式的字符串,则传入错误的格式会爆出错误,在内的语句会以爆出执行后的结果
3|0源文件泄露利用
.DS_Store文件泄露:利用工具----ds_store_exp,github地址
.git文件泄露:利用工具----GitHack,github地址
4|0extract变量覆盖
extract()函数:从数组中将变量导入当前符号表。
定义:
- 从数组中将变量导入到当前的符号表
- 该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量
语法:extract(array,extract_rules,prefix)
- array,必需,要使用的数组
<?php $a="hello"; $b= array('a' =>"world" ,"b"=>"gogogo"); extract($b); echo $a; //world ?>
如上所示,会存在一个覆盖漏洞。
5|0strcmp()漏洞
<?php echo strcmp("Hello world!","Hello world!"); // 两字符串相等 //0 echo strcmp("Hello world!","Hello"); // string1 大于 string2 //7 echo strcmp("Hello world!","Hello world! Hello!"); // string1 小于 string2 //-7 ?>
如上所示,strcmp()用于比较字符串大小,但是strcmp()在比较字符串和数组的时候直接返回0,可用于绕过。
6|0md5()漏洞
$_GET['name'] != $_GET['password'] MD5($_GET['name']) == MD5($_GET['password']) MD5($_GET['name']) === MD5($_GET['password'])
PHP在处理哈希字符串时,它把每一个以“0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以“0E”开头的,那么PHP将会认为他们相同,都是0。
以下值在md5加密后以0E开头:
- QNKCDZO
- 240610708
- s878926199a
- s155964671a
- s214587387a
- s214587387a
另外,MD5()无法处理数组,当比较数组时,会返回0,也能用于绕过,name[]=a&password[]=b
7|0ereg()截断漏洞
ereg()与strpos()两个函数同样不能用数组作为参数,否则返回NULL。
另外,ereg()存在截断漏洞,使用%00可以截断正则匹配。
另外,当长度与数值矛盾时,可以采用科学计数法表示,1e8=100000000。
8|0弱类型整数大小比较绕过
$temp = $_GET['password']; is_numeric($temp)?die("no numeric"):NULL; if($temp>1336){ echo $flag;
is_numeric()同样可以用数组绕过、%00截断、添加其他字符
http://123.206.87.240:9009/22.php?password[]=1 http://123.206.87.240:9009/22.php?password=9999a http://123.206.87.240:9009/22.php?password=9999%00
相关文章:
CTF知识点总结(二)
异或注入:两个条件相同(同真或同假)即为假。 http://120.24.86.145:9004/1ndex.php?id1^(length(union)!0)-- 如上,如果union被过滤,则 length(union)!0 为假,那么返回页面正常。 2|0updatexml() 函数报…...
解决Edge打开PDF总是没有焦点
【问题描述】 使用Edge浏览器作为默认PDF阅读器打开本地PDF文件,Edge窗口总是不获得焦点,而是在任务栏以橙色显示,需要再手动点击一次才能查看文件内容。 本强迫症来治一治这个问题! 【解决方法】 GPT老师指出问题出在Edge的启动…...
69.基于SpringBoot + Vue实现的前后端分离-家乡特色推荐系统(项目 + 论文PPT)
项目介绍 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括家乡特色推荐的网络应用,在外国家乡特色推荐系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。家乡特色推荐系统采用java技术&…...
计算机视觉目标检测-DETR网络
目录 摘要abstractDETR目标检测网络详解二分图匹配和损失函数 DETR总结总结 摘要 DETR(DEtection TRansformer)是由Facebook AI提出的一种基于Transformer架构的端到端目标检测方法。它通过将目标检测建模为集合预测问题,摒弃了锚框设计和非…...
《自动驾驶与机器人中的SLAM技术》ch1:自动驾驶
目录 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 L2 在技术实现上会更倾向于实时感知,乃至可以使用感知结果直接构建鸟瞰图(bird eye view, BEV),而 L4 则依赖离线地图。 高精地…...
【UE5 C++课程系列笔记】23——多线程基础——AsyncTask
目录 概念 函数说明 注意事项 (1)线程安全问题 (2)依赖特定线程执行的任务限制 (3)任务执行顺序和时间不确定性 使用示例 概念 AsyncTask 允许开发者将一个函数或者一段代码逻辑提交到特定的线程去执…...
基于Python的音乐播放器 毕业设计-附源码73733
摘 要 本项目基于Python开发了一款简单而功能强大的音乐播放器。通过该音乐播放器,用户可以轻松管理自己的音乐库,播放喜爱的音乐,并享受音乐带来的愉悦体验。 首先,我们使用Python语言结合相关库开发了这款音乐播放器。利用Tkin…...
cursor vip
https://cursor.jeter.eu.org?pf7f4f3fab0af4119bece19ff4a4360c3 可以直接复制命令使用git bash执行即可 命令: bash <(curl -Lk https://gitee.com/kingparks/cursor-vip/releases/download/latest/ic.sh) f7f4f3fab0af4119bece19ff4a4360c3 等待执行完成后…...
Docker部署项目,Mysql数据库总是宕机并且上传数据全部被删除了
刚开始排查原因我以为是一些内存占用问题的原因,后来查看数据库日志发现有多个异常ip尝试连接数据库并且也连接成功了随后数据库就被异常关闭了,然后我就重启容器远程连接数据库发现数据全没了,又在数据库中找到了如下内容: All y…...
C++ 复习总结记录六
C 复习总结记录六 模板初阶主要内容 1、泛型编程 2、函数模板 3、类模板 4、STL 简介 一 泛型编程 如何实现一个通用的交换函数 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right…...
spring boot 集成 knife4j
1、knife4j介绍以及环境介绍 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名knife4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!其底层是对Springfox的封装,使用方式也和Springfox一致,只是对接口…...
WordPress静态缓存插件WP Super Cache与 WP Fastest Cache
引言 WordPress是一款开源的内容管理系统(CMS),最初作为博客平台开发,现已发展成为一个功能强大的建站工具,支持创建各种类型的网站,包括企业网站、在线商店、个人博客等。它具有用户友好的界面、丰富的插…...
Pytest钩子函数,测试框架动态切换测试环境
在软件测试中,测试环境的切换是个令人头疼的问题。不同环境的配置不同,如何高效切换测试环境成为许多测试开发人员关注的重点。你是否希望在运行测试用例时,能够动态选择测试环境,而不是繁琐地手动修改配置? Pytest 测…...
VUE3封装一个Hook
在 Vue 3 中,Composition API 让我们能够封装和复用代码逻辑,尤其是通过 setup 函数进行组件间的复用。为了提高代码的可复用性,我们可以把一些常见的 API 请求和状态管理逻辑封装到一个单独的 hook 中。 以下是一个简单的例子,我…...
【Spring Boot】Spring AOP 快速上手指南:开启面向切面编程新旅程
前言 🌟🌟本期讲解关于spring aop的入门介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不…...
HTML基础入门——简单网页页面
目录 一,网上转账电子账单 编辑 1,所利用到的标签 2,代码编写 3,运行结果 二,李白诗词 1,所用到的标签 2,照片的编辑 3,代码编写 4,运行结果 一,网…...
INT301 Bio Computation 题型整理
perceptron 设计和计算 1. XOR: 当两个输入值中只有一个为真时,输出为真 2. 3. 5. 6. 7. 2^3 2^n 9. a) 直接test b) 把v≥2 改成 v≥1 10. no, because it cant be separate through only one decision boundary,its not linearlly separable. Backpropagatio…...
机器学习免费使用的数据集及网站链接
机器学习领域存在许多可以免费使用的数据集,这些数据集来自于学习、研究、比赛等目的。 一、综合性数据集平台 1.Kaggle 网址:Kaggle 数据集https://www.kaggle.com/datasets Kaggle是一个数据科学竞赛和社区平台,提供了大量的数据集供用…...
低空经济——飞行汽车运营建模求解问题思路
1. 掌握问题背景和领域知识 目标: 理解飞行汽车及其运营问题的核心要素和应用背景。学习内容: 飞行汽车基础: 了解飞行汽车的技术特点(垂直起降、电动推进等)。阅读行业报告,如 Uber Elevate 白皮书。共享…...
英伟达Project Digits赋能医疗大模型:创新应用与未来展望
英伟达Project Digits赋能医疗大模型:创新应用与未来展望 一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业作为关乎国计民生的关键领域,正面临着前所未有的挑战与机遇。一方面,传统医疗模式在应对海量医疗数据的处理、复…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
