本文主要是介绍[CTF][SUCTF2019]easysql,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路
1 先尝试可能的注入点
单引号 双引号 数字 字母等等,看界面反应。
最终结果:
from union 等关键字被过滤,flag字符串也被过滤。
可以使用堆叠注入。
输入字符串界面无反应,输入数字会返回,1,2,3等也会返回。
限制输入长度。
基本可以确定,是select … from xxx的句式。
但是会对最后一个字符做处理,如1,2,3,会返回1, 2,1
2 方向
把前面的规则理清了不太难,但是如何注入,很费脑筋。
因为from关键字被屏蔽,表名flag字符串也被屏蔽。同时又限制了输入长度。
可以推测不会是很复杂的注入。
同前面一样,卡在最后一步很长时间,搜了大量字符绕过的资料,但是都不适用。
最终,梳理上面的规则,最后一点未被有效利用。
虽然尝试过 1;select * 的输入,未正确返回,就放弃了尝试,忽略了程序会对最后一个逗号后的字符做处理这一个规则,想到这一点,就尝试1;select *,2 的注入,成功。
总结
不要轻易放过任何一条线索,尤其是在规则很明确的时候。
这篇关于[CTF][SUCTF2019]easysql的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!