sql注入的数据提交方式和查询方式

死在山野的风里,活在自由的梦里

sql注入的数据提交方式和查询方式

    • 数据提交方式
      • GET方式注入
      • POST方式注入
      • Request方式注入
      • HTTP头注入
      • 什么是Header头部注入?
      • cookie注入
    • 查询方式

数据提交方式

GET方式注入

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

运用场景:数据不敏感
安全性不高
长度有限2kb
速度非常快
POST

POST方式注入

post提交方式主要适用于表单的提交,用于登录框的注入,直接传递给服务器

方法:利用BurpSuite抓包进行重放修改内容进行,和get差别是需要借助抓包工具进行测试,返回结果主要为代码,也可转化为网页显示

安全性高
长度不限
速度不快

Request方式注入

get,post都可以接收

概念:超全局变量 PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可以用,这些超全局变量是:

$_REQUEST(获取GET/POST/COOKIE)COOKIE在新版本已经无法获取了
$_POST(获取POST传参)
$_GET(获取GET传参)
$_COOKIE(获取COOKIE传参)
$_SERVER(包含了诸如头部信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)

sql注入的数据提交方式和查询方式_第1张图片
sql注入的数据提交方式和查询方式_第2张图片

HTTP头注入

什么是Header头?

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机响应消息。 这两种类型的消息有一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。 HTTP的头域包括通用头,请求头,响应头和实体头四个部分

什么是Header头部注入?

header注入,该注入是指利用后端验证客户端信息(比如常用的cookie验证)或者通过header中获取客户端的一些信息(比如User-Agent用户代理等其他header字段信息),因为这些信息在某些地方是会和其他信息一起存储到数据库中,然后再在前台显示出来,又因为后台没有经过相对应的信息处理所以构成了sql注入。

cookie注入

在cookie里面写注入语句
sql注入的数据提交方式和查询方式_第3张图片

查询方式

当进行SQL注入时,有很多注入会出现无回显的情况,其中不回显得原因可能时SQL语句查询方式问题导致,这个时候我们需要用到报错或者盲注进行后续操作,同时在注入的过程中,提前了解其中SQL语句可以更好的选择对应的注入语句。

select 查询数据

例如:在网站应用中进行数据显示查询操作

select * from user where id=$id

delete 删除数据

例如:后台管理里面删除文章删除用户等操作

delete from user where id=$id

insert 插入数据

例如:在网站应用中进行用户注册添加操作

inser into user (id,name,pass) values(1,'zhangsan','1234')

update 更新数据

例如:后台中心数据同步或者缓存操作

update user set pwd='p' where id=1

你可能感兴趣的:(#,SQL注入基础,sql,数据库)