SQLI-LABS(Less-9、10)

Less-9(GET-Blind-Time based-Single Quotes)

打开 Less-9页面,可以看到页面中间有一句 Please input the ID as parameter with numeric value,那么先使用 ID这个参数通过 GET方式传入一个数值。

SQLI-LABS(Less-9、10)

确定注入点

注入语句: ?id=1。可以看出没有回显查询结果。

SQLI-LABS(Less-9、10)

接着试一下 ?id=1',发现和 ?id=1的页面没有区别,没有报错也无法判断成功还是失败。此时就可以考虑另一种盲注的方式: 时间盲注
时间盲注与布尔型注入的区别在于,时间盲注是利用 sleep()benchmark()等函数让数据库执行的时间变长,根据返回页面的时间来判断使用的注入语句成功与否。时间盲注多与if函数结合使用。如: if(a,b,c),此if语句的含义是,如果 a为真则返回值为 b,否则返回值为 c

根据本关的名字提示,得知SQL语句是单引号闭合,接着尝试 ?id=1' and if(1=1,sleep(2),0) --+?id=1' and if(1=2,sleep(2),0) --+确定真的存在注入点,使用前一条注入语句时,网页两秒之后刷新成功,而使用第二条语句,直接返回,由此确定存在注入点。

SQLI-LABS(Less-9、10)

根据返回时间确定数据

思路:
注入语句: ?id=1' and if(length(database())>1,sleep(2),1)--+,由此可以判断出当前数据库名。
此时就可以将上面注入语句中的 database()换成自己想要使用的语句,不断猜解得出数据,同上一关

Less-10(GET-Blind-Time based-double Quotes)

第十关和第九关的思路是一样的,只是在注入语句中将闭合SQL语句使用的单引号换成了双引号。
确定存在注入点的语句: ?id=1" and if(1=1,sleep(2),0) --+?id=1" and if(1=2,sleep(2),0) --+

Original: https://www.cnblogs.com/Timesi/p/16669024.html
Author: 顾北清
Title: SQLI-LABS(Less-9、10)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578203/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球