SQL注入-数据提交方式

1.GET方式注入

get注入方式比较常见,主要是通过url中传输数据到后台,带入到数据库中去执行,可利用联合注入方式直接注入

GET方式因为比较简单,这边简单通过sqli-less2的代码来过一下,通过图一可知代码中的提交方式就是GET,打开网页后,发现在url中是有数据的,那我们就知道这是GET型的注入。

GET型注入是通过URL进行数据传递,使用的场景一般是用于数据不敏感,因为数据是嵌套在URL中的,所有人都能看到,这就很危险。所以使用GET型方式提交数据一般是直接摊牌了,因为数据根本不重要,要看就看吧。这就导致了安全性不高,但GET型方式提交数据也并不是都是弊端,好处在于数据从前端传递到后端时,速度是非常之快的,但还有一个小缺点,在提交数据的时候是有长度限制的,只有2kb。

2.POST方式注入

post提交方式主要适用于表单的提交,用于登录框的注入
方法:利用BurpSuite抓包进行重放修改内容进行,和get差别是需要借助抓包工具进行测试,返回结果主要为代码,也可转化为网页显示

POST提交是直接传递给服务器的,这边以sqli-less11为例,这也是一个典型的登录界面,它在url里是没有数据的,我们再通过网络的源代码来看看,先找到表单的代码,也就是形成登录框的代码,里面的metho="post",指的就是通过post进行数据传输。

POST型的数据提交,虽然是直接传递给服务器的,但速度并不快。在网络中要么以时间换空间,要么就是用空间换时间,所以速度换来的就是POST型的安全性高长度不限。POST型与GET型提交的本质区别在于url中有没有包含数据。

3.Request方式注入

概念:超全局变量PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可以用,这些超全局变量是:
REQUEST(获取GET/POST/COOKIE) COOKIE在新版本已经无法获取了_POST(获取POST传参)
GET(获取GET传参)_cOOKIE(获取COOKIE传参)


$_SERVER(包含了诸如头部信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组),server是一个php中的函数,能够查询很多信息,例如查询当前用户IP,$_SERVER['REMOTE_ADDR'],查询用户主机名,$_SERVER['REMOTE_HOST']等.

 

因为我们常见的数据提交方式就是GET与POST两种,所以这边着重讲解这两种,剩下的方式在后面的实战中都会涉及讲解。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值