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


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

    数据提交方式

    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)等等信息的数组)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    在这里插入图片描述

    HTTP头注入

    什么是Header头?

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

    什么是Header头部注入?

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

    cookie注入

    在cookie里面写注入语句
    在这里插入图片描述

    查询方式

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

    select 查询数据

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

    select * from user where id=$id
    
    • 1

    delete 删除数据

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

    delete from user where id=$id
    
    • 1

    insert 插入数据

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

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

    update 更新数据

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

    update user set pwd='p' where id=1
    
    • 1
  • 相关阅读:
    Response handling between UVM Driver and Sequencer for Pipelined Protocols
    基于JavaSwing开发任务管理器 课程设计 大作业源码
    DSA之排序(3):交换排序,简单选择排序,归并排序,基数排序
    设计模式:策略模式
    SwiftUI Spacer() onTapGesture 无法触发
    firewalld常用的基础配置
    受害者被锤 法官遭殃 背后的它公关赢了?
    让你的Nginx支持分布式追踪opentracing
    云原生:Docker 实践经验(六)-镜像的使用及分层讲解
    解决linux下mysql-server在root账户下无需密码就能登陆的问题
  • 原文地址:https://blog.csdn.net/dyjkl/article/details/132807118