dvwa模拟实验——sql盲注
sql盲注 1.sql盲注的基本内容 1.1 sql注入与盲注的区别 盲注:目标只会回复是或者不是,没有详细内容; 注入:可以查看到详细的内容 1.2 sql盲注的过程 判断是否存在注入,注入是字符型还是数字型 猜解当前数据库名–>猜数据库的长度–>猜数据库的名称 猜解数据库中的表名–>猜表的数量–>猜表的长度–>猜表的名称 猜解表中的字段名–>猜列的数量–>猜列的长度–>列的名称 1.3 sql盲注的类型 基于布尔值的盲注 基于时间的盲注 基于报错的盲注 2. DVWA模拟实验 了解一个关键函数: 2.1 low等级 1.分析源代码 从源码中可以看出并没有任何防御措施,存在sql注入漏洞,并且注入类型是字符型。 但是输出只有两句话,所以应该采用盲注的方法。 2.手动盲注过程 (1)猜测数据库名的长度 从1开始试,一直到页面返回正确。 (2)猜测数据库的名称 利用二分法,并对照ASCII码表可以得到数据库名四个字符分别是什么 1' and ascii(substr(database(),1,1))=100 # 1' and ascii(substr(database(),1,1))=118 # 1' and ascii(substr(database(),1,1))=119 # 1' and ascii(substr(database(),1,1))=97 # 得到数据库的名称