注入全方位利用-POST注入HEAD头注入sql
1、POST注入介绍数据库
注入攻击的本质,是把用户输入的数据当作代码执行。数组
这里有两个关键条件:浏览器
第一个是用户可以控制输入函数
第二个是本来程序要执行的代码,拼接了用户输入的数据测试
POST注入属于注入的一种,相信你们都知道POST\GET两种传参方式。spa
POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别操作系统
POST注入高危点:orm
登陆框xml
查询框
等各类和数据库有交互的框
最经典的POST注入莫过于万能密码
'or 1=1#
Sqlmap如何对POST类型SQL注入进行注入
--forms sqlmap去读取页面中POST传参的表单的传参名而后进行SQL注入
-r 1.txt sqlmap读取数据包文件进行SQL注入,注入处能够打一个*号告诉Sqlmap测试那个点
2、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文档路径的位置里面写入了子查询,咱们输入特殊字符,而后就由于不符合输入规则而后报错了
可是报错的时候他其实已经执行了那个子查询代码!