网络安全从零开始(POST/HEAD注入)

本文详细介绍了SQL注入攻击的原理,特别是POST注入和HEAD注入的实现方式。POST注入主要涉及用户可控输入与代码执行的结合,而HEAD注入则利用PHP的超全局变量,通过修改请求头数据进行攻击。文中提到了如何使用sqlmap工具进行POST注入测试,并列举了常见的高危注入点和万能密码。HEAD注入中,重点讲解了$_SERVER数组的利用,以及通过User-Agent、Referer等头部字段进行注入的技巧。同时,还分享了具体的SQL注入语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、POST注入

首先要明确注入攻击的本质是:将用户输入的数据当做代码来执行。
前提条件
		用户能够控制输入
		原本程序要执行的代码拼接上用户输入的数据然后执行
传参类型:传参一般有两种,一种是post另一种就是get
		 post注入就是使用post进行传参。本质上来说与get没有区别。
高危注入点
		 登录框、查询框等各种与数据库进行交互的框
万能密码
		 'or 1=1#
		 万能密码登录的是默认用户,一般是第一个用户,第一个用户一般都是管理员用户
如何利用sqlmap跑post传参
		 第一种方法就是在后面加上 --form 如
		 		sqlmap -u "url" --form
		 		这样工具会自动判断post传递的参数,然后正常爆破
		 第二种方法就是抓包,通过burp抓包来进行跑post传参 如
		 		通过burp抓包,将抓到的保存到1.txt中,将1.txt与sqlmap放在同一个目录下
		 		输入 sqlmap -r 1.txt 就可以正常爆破 
		 		另外在1.txt中可以使用 * 来标记可能存在注入点的地方
		 		这样放入sqlmap中会对其进行专门测试

二、HEAD注入

PHP中的许多预定义变量都是超全局的,这意味着他们在一个脚本的全部作用域中都可用。
这些全局变量有:
		$_REQUEST (获取get/post/cookie)  注: cookie在新版本已经无法获取了
		$_POST(获取post传参)
		$_GET(获取get传参)
		$_COOKIE(获取cookie的值)
		$_SEREVER(包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)
$_SERVER 功能是非常强大的常用的语句有:
		$_SERVER[‘HTTP_REFERER’]  获取referer请求头信息
		$_SERVER[“HTTP_USER_AGENT”] 获取用户相关信息、包括用户浏览器、从操作系统等信息
		$_SERVER[“REMOTE_ADDR”] 浏览网页的用户ip
HEAD注入的原理:
		在你正常访问某些网站的时候,这个网站会获取你请求头中的数据并将其存储在数据库中
		利用这一点,就可以在头数据中进行修改上传一些恶意数据,将其存储到目标的数据库中
		如果对方的服务器没有过滤验证上传的请求头数据,就会将上传的数据执行,这样就完成了一次head攻击
插入语句的位置:
	User-Agent
	Referer
	X-Forwarded-For
通常使用的语句
	Select *from news where id=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1)
	
	updatexml用于替换目标,文件路径或者替换内容
	0x7e是 “~” 的16进制 
	concat(a,b)负责连接ab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GetorPost

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值