注入全方位利用-POST注入HEAD注入
本文内容:
~POST注入
~HEAD注入
一、POST注入:
回忆:
1,注入攻击本质:将用户输入的不可信数据当作代码去执行
2,条件:
~用户能控制输入
~原本程序要执行的代码,拼接了用户输入的内容,然后执行
3,本质:
post注入是注入的一种,大家知道传参有POST与GET两种。
post注入就是使用post传参进行。本质上和get没什么区别
4,高危点
登录框
查询框
等各种和数据库有交互的框
5,经典注入之万能密码
'or 1=1#
万能密码登录的是默认用户,一般是第一个用户,第一个用户一般都是管理员用户
注意:
POST注入没有url编码
另外 # 的url编码是 %23
--+ (空格会被替换为%20 或者+)
6,利用sqlmap
方法一:
sqlmap -u "url" --form
//会自动判断post传递的参数,然后正常爆破
方法二:(推荐)
burp抓包,保存在一个记事本中
(以1.txt为例,且和sqlmap.py存放在同一文件夹)
//小技巧,在1.txt中,在可能的注入点后跟加个" * ",会进行专门的测试
sqlmap.py -r 1.txt
为什么推荐抓包,
~第一,可以增加*
~第二,参数带cookie
二,HEAD注入:
0,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
1,本质:
就是某些网站会获取你请求头的一些信息存到数据库之中
利用这一点,你可以将一些恶意代码放到请求头之中,
然后发送给服务器,如果服务器没有验证过滤就将你的恶意代码执行,
即完成一次head注入攻击
2,插入语句
~位置:
User-Agent
Referer
X-Forwarded-For
~测试语句:
' or sleep(5),1)#
~头注入通常语句:
1' or updatexml(1,concat(0x7e,(select database()),0x7e),1),1)#
updatexml(替换目标,文件路径,替换内容)
0x7e是 “~” 的16进制 因为路径有特殊符号报错
concat(a,b) //连接ab
2,代理
~分类:
1、透明代理: (一般不要钱,不稳定)
透明代理虽然可以直接“隐藏”你的IP地址,
但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。
2、匿名代理
匿名代理比透明代理进步了一点:
别人只能知道你用了代理,无法知道你是谁。
3、混淆代理
使用了混淆代理,别人还是能知道你在用代理,
但是会得到一个假的IP地址,伪装的更逼真
4、高匿代理
高匿代理让别人根本无法发现你是在用代理,
所以是最好的选择。
提醒:在咱们天朝,就不要想一些什么了,只要想搞你,就没脾气
3,一些坑
头注入,基本都发生在登录成功时。因为有的网页会显示,登录者IP等等信息,这就是回显点
另外当你写入的东西不见得时候,有两种可能:
~被当作代码执行了--->可以进行攻击了
~被过滤了 --->暂时没有漏洞
做渗透测试时,or比and要好用
基本可以传参的地方都可以进行注入攻击(xss,sql)
三,盲注:
1,概念:注入之后,没有回显。 与之对应的便是回显注入
2,具体的下次在分析吧