sqli-labs POST注入

  从11关之后就从GET方式变成POST方式,也就不能使用url?id=...的方式,而是要通过提交username和password的方式直接进行提交登录。

less-11

 进入页面之后是提交username和password的形式,我们随便分别提交1和1,我们打开hackbar查看方式

 可以看到最下面Body部分post传参时的使用的“name”分别是“passwd”和“uname”,所以我们接下来就只能用这两个“name”进行注入

我们先令uname=1 ')--+&passwd=

可以发现报错的内容为')-- ’,我们可以知道是单引号注入,我们开始在uname上构造联合注入语句:uname=1' union select 1,database() --+ &passwd=

因为--+将之后的内容全部注释掉,所以passwd的值也就不用进行任何操作

我们这里看到回显正常,并且爆出了数据库名字,之后的和get方式的联合注入(less-1)步骤一模一样 

less-12

首先还是判断闭合方式,我们用1回显错误,用1'回显错误,再用1"就发现回显的是语句错误,那我们就构造:uname=1"\--+&passwd=

可以看到我们语句后有一个"),所以知道这关的闭合方式为双引号加括号,与上一关同理,进行联合注入

 

得到了数据库名字,继续使用联合注入语法,与get方式相同的步骤进行注入

less-13

先判断闭合方式,构造uname=1'发现直接返回语句错误,那么改变构造变成uname=1'\--+&passwd=

 

可以得知闭合方式为单引号加括号

当我们构造为uname=1') or 1时,显示的是登陆成功但是却没有任何回显,因此我们使用报错注入

语句为:uname=1') and updatexml(1,concat(1,database()),3)--+&passwd=

或者也可以利用报错注入另一个函数:uname=1') and extractvalue(1,concat(1,database()))--+&passwd=

成功得到数据库名,此时就与get方式的报错注入一样

 

直接得到了这几张表名,剩余步骤也和get方式一样 

less-14

与less-13一样,同样使用报错注入,只不过闭合方式改变成了双引号,剩余内容与步骤无异。

今天的分享到此结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值