[强网杯 2019]随便注-堆叠注入-偷梁换柱

1.先提交一下
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112110547071.png
2.判断引号闭合为单引号,可以用“– ”注释符
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112110719678.png
3.在进行union注入时可以看到很多都被过滤了
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112110819163.png
于是采用堆叠注入,推一下数据库结构
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112110956182.png
查看1919810931114514可以看到有flag列,估计flag就在这了
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112111059080.png
查看words表结构
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112111218963.png
通过观察可以看到words有两列,可以大体推出sql查询语句
1 | |
那我们就可以先把words表改名为words1
1 | |
再将1919810931114514改名为words,相当于替换了数据
1 | |
最后把flag列改成id,实现伪造
1 | |
得到payload
1 | |
4.注入payload实现偷梁换柱,这时可以看到什么也没有了
因为原来的words有两列,被我们替换后只有一列了,查询语句还是之前那个,所以查不到data列就中断了,类似:
1 | |
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112113211162.png
这时再注入1’or’1’=’1,构成下面sql语句,实现永久为true,把数据全部输出,得到flag
1 | |
[图片缺失] 原始路径:
/home/hack/.config/Typora/typora-user-images/image-20260112114134176.png

