SQL注入之less-1

Posted WEB安全之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL注入之less-1相关的知识,希望对你有一定的参考价值。

SQL注入攻击的总体思路

    1.寻找到SQL注入的位置

    2.判断服务器类型和后台数据库类型

    3.针对不通的服务器和数据库特点进行SQL注入攻击

 

学习 SQL 注入,首先要搭一个靶机环境,我使用的是Sqli-labs, 进入到less-1开始我们的SQL注入学习之旅。

SQL注入之less-1

通过改变http://127.0.0.1/sqli-labs-master/Less-1/?id=2id的值,页面上呈现不同的内容(username,password)。可以猜测在后台中的SQL语句就是根据前台传入的id值来去对应的数据。

SQL语句的写法为:

SQL注入之less-1

判断存在SQL语句

SQL注入之less-1

SQL注入之less-1

这个时候页面没有任何的变化,这是不和符合我们预期的结果,因为当id=3 and 1=2时,SQL语句变为select username,password from table where id=3 and 1=2页面应该不会有内容。

确定存在SQL语句

如下

SQL注入之less-1

URl是以上的SQL语句时,页面上显示SQL执行错误信息

SQL注入之less-1

其中最关键的错误信息是:

''2''LIMIT 0,1'

最外层的引号是mysql出错时自动加上的。那么实际的SQL语句是 '2'' LIMIT 0,1。我们发现在我们输入的2'被引号包围了,那么我们之前猜测的selectusername,password from table where id=input有误,实际的后台的SQL语句应该为:

SQL注入之less-1

SQL注入验证

在确定存在了SQL注入之后,同时知道了后台SQL写法,那么此时我们就可以注入自己的SQL注入的代码。

由于我们可以控制id的值,那么最终输入的SQL语句会变为:

 

SQL注入之less-1

此时我们就可以构造如下的payload来验证我们的想法。由于我们的输入是被一对单引号包裹的,所以我们输入的语句必须要能够不被单引号影响。要么闭合单引号,要么注释掉单引号。(可以参考前面的)

 

SQL注入之less-1

SQL注入之less-1



SQL注入的判断没有万能方法,只有不断的进行尝试练习.......





以上是关于SQL注入之less-1的主要内容,如果未能解决你的问题,请参考以下文章

sqlilabs(SQL注入)小白通基础通关笔记(专针对小白)(第一关Less-1)

以下代码片段是不是容易受到 Rails 5 中 SQL 注入的影响?

sqli labs注入记录(Less-1至Less-10)

SQL注入从入门到进阶:sqli-labs靶场通关笔记

sql-labs SQL注入平台-第1关Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)

sql-labs SQL注入平台-第1关Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)