sqli-labs less-11 & less-12

POST-Error Based-Single quotes-String (基于错误的POST单引号字符型注入) Less-11

POST-Error Based-Double quotes-String-with twist (基于错误的双引号POST型字符型变形的注入)Less-12

 

       前面10关都是get型的,而从现在开始我们进入post型关卡

post是一种数据提交方式,主要是数据从客户端提交到服务器,常见的登录网站界面就是这样

sqli-labs less-11 & less-12_第1张图片

我们试着使用常用的管理员密码账户提交试一下    admin

sqli-labs less-11 & less-12_第2张图片

可以看到他返回了信息

这里可以看到不是提交所有信息都会返回的,所以我们就可以试着构造些语句,然后试一下会有什么结果

我们将用户名后面加一个’试试,密码就随便输吧

sqli-labs less-11 & less-12_第3张图片

【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 '123' LIMIT 0,1' at line 1】我们可以看到返回了报错信息,我们试着分析可以得到结论参数需要进行单引号处理。

我们试一下万能密码

sqli-labs less-11 & less-12_第4张图片

sqli-labs less-11 & less-12_第5张图片

我们可以看到返回的信息

{{{万能密码构造,在后台数据库中会编译为  @$sql="SELECT username, password FROM users WHERE username='admin'or '1'='1 --' and password='123' LIMIT 0,1";}}} 在- -之后的内容都会被注释掉,前面的内容因为 or 1=1恒成立,所以语句为真。

下面我们就可以用之前get型注入使用的语句来代替那个恒等式来注入   ' union select 1,database() -- 

sqli-labs less-11 & less-12_第6张图片

sqli-labs less-11 & less-12_第7张图片

我们就得到了数据库

 

-------------------------------------------------------------------------------------------------------------------------------------

下一关

来看首页

sqli-labs less-11 & less-12_第8张图片

因为和前面一关一样,直接试

sqli-labs less-11 & less-12_第9张图片

套入语句

“)union select 1,database() - - 和前面一样,只不过这关为双引号闭合

sqli-labs less-11 & less-12_第10张图片

这样我们就可以得到数据库

你可能感兴趣的:(sqli-labs,SQL注入,sqli-labs)