• post与head注入


    一、POST注入介绍

    注入攻击的本质,是把用户输入的数据当做代码执行。

    这里有两个关键条件:

    第一个是用户能够控制输入

    第二个是原本程序要执行的代码,拼接了用户输入的数据

    POST注入属于注入的一种,相信大家都知道POSTGET两种传参方式。

    POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别

    POST注入高危点:

    登录框

    查询框

    等各种和数据库有交互的框

    最经典的POST注入莫过于万能密码

    'or 1=1#

    Sqlmap如何对POST类型SQL注入进行注入

           --forms  sqlmap去读取页面中POST传参的表单的传参名然后进行SQL注入

           -r 1.txt sqlmap读取数据包文件进行SQL注入,注入处可以打一个*号告诉Sqlmap测试那个点

    二、Head注入介绍

    PHP 全局变量 - 超全局变量

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

    这些超全局变量是:

    $_REQUEST (获取GET/POST/COOKIE) COOKIE在新版本已经无法获取了

    $_POST  (获取POST传参)

    $_GET  (获取GET的传参)

    $_COOKIE   (获取COOKIE的值)

    $_SERVER  (包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)

    $_SERVER功能强大。

    $_SERVER['HTTP_HOST']  请求头信息中的Host内容,获取当前域名。

    $_SERVER["HTTP_USER_AGENT"]  获取用户相关信息,包括用户浏览器、操作系统等信息。

    $_SERVER["REMOTE_ADDR"]  浏览网页的用户ip。

    updatexml() 更新xml文档的函数

    语法:updatexml(目标xml内容,xml文档路径,更新的内容)

    updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

    实际上这里是去更新了XML文档,但是我们在XML文档路径的位置里面写入了子查询,我们输入特殊字符,然后就因为不符合输入规则然后报错了

    但是报错的时候他其实已经执行了那个子查询代码

  • 相关阅读:
    bootstrap表头固定
    JS:二维数组排序和获取子级元素
    JavaScript 变量声明提升
    一道经典面试题-----setTimeout(function(){},0)
    排序
    基础知识:Promise(整理)
    几个兼容相关的重要函数
    JSON
    关于由ajax返回的数据在for循环中只能取到最后一个数的问题
    如果要遍历除了for循环,你还知道什么?——JavaScript的各种遍历方式
  • 原文地址:https://www.cnblogs.com/wenyoudo/p/13582227.html
Copyright © 2020-2023  润新知