sqlilab less1-less10

less-1
参数被单引号包裹,加单引号,闭合后绕过


less-2
参数没有被包裹,直接带入查询,不需要闭合


less-3
参数被
('$id')
包裹,需要将他闭合


less-4
参数被小括号和双引号包裹,先对id进行处理,两边加上双引号,再带入查询,需要将其闭合


less-5
查询结果将mysql_error()返回前端,报错注入。需要先将前边进行闭合,再进行注入。


less-6
同样将报错信息返回前端,参数用双引号包裹


less-7
这里的报错内容被注释掉,如果正确的话返回的是一个,错误的话返回另一个,可以通过left,substr等函数来判断内容


less-8
正确的话有内容返回,错误的话无内容,参数无包裹。and函数必须两边均为True,返回正确

if为判断,ascii为转为acsii码,substr为选择内容

python .\sqlmap.py -u http://sqli.com/Less-8/?id=1 --dbs --technique B

less-9
返回的内容一样时,只能基于时间注入,通过sleep函数,在less-8上加上sleep


python .\sqlmap.py -u http://sqli.com/Less-9/?id=1 --dbs --technique T

less-10
双引号包裹的时间盲注,同less-9。


这部分使用sqlmap看了好多文章,都是说sqlmap可以直接跑,但是我没有成功。这里的闭合是双引号闭合,通过分析sqlmap的攻击语句是

通过修改sqlmap的一个单引号转utf-8的tamper脚本,将单引号替换为双引号,注入成功
1 #!/usr/bin/env python
2
3 """
4 Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/)
5 See the file 'LICENSE' for copying permission
6 """
7
8 from lib.core.enums import PRIORITY
9
10 __priority__ = PRIORITY.LOWEST
11
12
13 def dependencies():
14 pass
15
16
17 def tamper(payload, **kwargs):
18 """
19 Replaces apostrophe character (') with its UTF-8 full width counterpart (e.g. ' -> %EF%BC%87)
20
21 References:
22 * http://www.utf8-chartable.de/unicode-utf8-table.pl?start=65280&number=128
23 * http://lukasz.pilorz.net/testy/unicode_conversion/
24 * http://sla.ckers.org/forum/read.php?13,11562,11850
25 * http://lukasz.pilorz.net/testy/full_width_utf/index.phps
26
27 >>> tamper("1 AND '1'='1")
28 '1 AND %EF%BC%871%EF%BC%87=%EF%BC%871'
29 """
30
31 return payload.replace('\'', "%22") if payload else payload


再或者指定prefix参数

sqlilab less1-less10的更多相关文章
- 通过sqli-labs学习sql注入——基础挑战之less1
环境准备: Phpstudy (PHP+Apache+Mysql) Sql-lab 首先了解下基础知识: URL编码: 因为在浏览器中,当我们访问一个网址的时候,浏览器会自动将用户输入的网址进行UR ...
- sqli_labs学习笔记(一)Less-1~Less-20
开门见山 Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入) · 方法一:手工UNION联合查询注入 输入单引号, ...
- sqli-labs Less-1~~~Less-23
Less-1 payload:'+and+1=2+union+select+1,username,password+from+security.users+limit 0,1--+ 第一关正规的字符型 ...
- [html]LESS-1.3.3
网站:http://www.bootcss.com/p/lesscss/ 下载链接:http://files.cnblogs.com/files/z5337/less-1.3.3.min.js
- less-1
说在前面的话,为什么用less: 1.需要编写的代码明显变少了 2.css管理更加容易 3.less学习成本低 4.使用less实现配色变得非常容易 5.兼容css3,实现各个浏览器中css的兼容写法 ...
- sqli-lab 第一题 单引号 error based single quotes
一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输 ...
- 【sqli-labs】Less1~Less4
学习sql注入啦,一下都是我做sqli-labs时的笔记.可能有错误,如果有人发现了欢迎指正~~ 常用知识点: 1.mysql注释有三种:① #: 注释从#到行尾 ② --空格: 注释到行尾,注意-- ...
- sqli-labs less1 &&less3&&less4学习心得
0x01.less1 id=1/ id=1 and 1=1结果正常 id=1 and 1=2结果正常,不合理 id=1'提示:
- 【sqli-labs】 less10 GET - Blind - Time based. - Double quotes (基于时间的双引号盲注)
这个和less9一样,单引号改完双引号就行了 http://localhost/sqli/Less-10/?id=1" and sleep(5)%23 5s后页面完成刷新 http://lo ...
随机推荐
- 浏览器页面左上角出现undefined
浏览器页面左上角出现undefined, js文档中: let list; list += html代码; 解决办法: let list = html代码;
- BOOST 条件变量使用
代码: // boost库 条件变量 使用测试 #include <iostream> #include <boost/thread.hpp> using namespace ...
- subprocess中命令为参数序列和字符串的区别
参数args 参数args可以是一个参数序列,也可以是一个单独的字符串.参数序列通常是首选的,因为它允许模块处理参数的转义和引号(例如,允许文件名中有空格). 如果传递参数序列,默认情况下,程序执行序 ...
- Java 8新特性--Stream API
Java 8 API添加了一个新的抽象称为流Stream,以一种声明的方式处理数据,可以极大提高程序员的生产力,写出高效.干净.简洁的代码.这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可 ...
- Flutter - 自定义Dialog弹窗
------------恢复内容开始------------ Flutter - 自定义Dialog弹窗 应用场景:app系统版本升级弹窗,系统退出登录弹窗,首页广告弹窗,消息中心弹窗,删除文件弹窗等 ...
- Docker的介绍与安装教程
基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 目录 基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 Docker的核心概念 D ...
- 想买保时捷的运维李先生学Java性能之 生存与毁灭
一.判断对象是否存活 1.引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1:当引用失效时,计数器的值就减1:任何时刻计数器为0的对象是不可能再被使用的.引用计 ...
- Linux下的django项目01
1.初始化项目结构 └─shiyanlou_project # 项目根路径 │ .gitignore # 提交git仓库时,不提交的文件必须要在这里进行标注 │ README.en.md # ...
- LRU算法详解
一.什么是 LRU 算法 就是一种缓存淘汰策略. 计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置.但问题是,删除哪些内容呢?我们肯定希望删掉哪些没什么用的缓存,而把有用的数据继续留 ...
- .NetCore中简单使用EasyNetQ
前言 我们在.Net中使用RabbitMQ,最原始的就是基于RabbitMQ.Client进行编码,在这个过程中我们需要通过代码约定和维护队列,Exchange等.如果是自行编码封装通用型的Rabbi ...