一、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”] 浏览网

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

被折叠的 条评论
为什么被折叠?



