今天的实训课我们挑战了sqli-labs第23关,这是一个错误型盲注的挑战,主要的目标是通过利用错误信息来推断出数据库中的数据,而不是直接显示在页面上。让我们开始挑战吧!
判断是否存在注入:?id=1'and 1=1-qwe
将qwe改成aaa,发现结果没变
我们可以看到,--%20没有生效,在后面加上#,依旧抛出错误
在成功获取数据库名称之后,我们可以继续探测数据库中的其他表和字段
错误判断出以后,然后利用判断库名,列名,数据的方法进一步探索数据库中的其他表和字段,以及可能的敏感数据。
这一关的挑战重点在于通过错误信息来推断数据库中的数据。这种方法在实际应用中非常重要,因为很多时候我们无法直接看到注入结果,而只能通过错误信息来间接获取数据。在本关中,我们学习了如何判断是否存在SQL注入,如何利用错误信息推断数据库名称、表名和字段名。这些技巧不仅提高了我们的SQL注入攻击能力,也增强了我们对数据库安全的理解。