SQL注入攻击是一种针对Web应用程序的安全漏洞,那么自然,SQL注入攻击也和前端页面息息相关,用户输入未被正确处理、动态查询的构建、前端JavaScript代码错误,等等我问题都可能造成安全威胁。
在上一节,我们了解了基础的SQL注入模式,他们大多都从地址导航栏入手,直接向查询语句中注入攻击语句。本章我们来看和前端页面相关的一些SQL注入攻击。
1.Less-11
1.1 页面分析
来到第十一关,我们可以看到,这一关与前十关有很大区别,页面有了一个输入框,提示我们输入用户名和密码。
顺其自然我们想到,注入点就在输入框里。前十关用到的都是get请求,参数都体现在url上面,而这一关开始是post请求,参数在表单里面。我们可以直接在输入框里面进行注入。
1.2 尝试注入
我们尝试输入1,页面报错,再尝试输入1‘,页面显示报错原因
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' and password='' LIMIT 0,1' at line 1
这说明,我们如果想查询某个用户的信息,并且用户ID为1,就需要隔断后面的部分。
知道了SQL语句,我们就可以构造一个恒成立的SQL语句,看查询出的是什么。这里我们需要把--+换成#来进行注释,意思是一样的,后续就和之前一样了,使用联合注入获取数据库信息。