0x00 前言

我们都知道,SQL注入分数字型和字符型,我们上次讲的是最基本的数字型SQL注入,这次我们就来讲最基本的字符型SQL注入。同样,如果是明白原理和方法的话,看懂这篇文章并不难,但是如果不清楚原理和方法的话…还是可以看的,大家多多给我点赞吧,哈哈哈哈哈,还是那句话,菜鸟一个,大佬勿喷~

0x01 过程

  • 首先,还是老样子,我们先看一下题目
  • 这里通过题目我们知道,这次SQL注入是字符型的SQL注入
  • 那我们就进入靶场环境
  • 可以看到和上次一样,有一个登录系统,登录框下面有一个维护新闻轮播框
  • 我们点进去可以看到,URL栏上也同样存在着GET传参
  • 但是和上次不同的是,这次传参的值是一串字母,而上次的是数字,在通过题目结合,这就是字符类型

  • 那这里我们就提出一个疑问,什么是数字型,什么是字符型?
  • 这里我就在本地的数据库,使用查询语句来给大家来解开疑惑
  • 我们看这个表里面有两个字段,一个是id,,一个是name
  • 那我们先用查询语法来查询一下,我们先查询id这个字段
  • 我们看到查询这个表里面id=1的数据,都显示出来了
  • 重点来了,那我们看一下查询name=admin
  • 我们看到这里查询失败了,这是为什么呢?
  • 好了,我直接说重点吧,因为这里是查询条件是字符,所以是要加单引号或者双引号
  • 看到了吧,这就是数字型和字符型的差别
  • 在网站的传参里,是单引号还是双引号,甚至是有括号,那我们就不得而知。只有去试才知道,因为这是开发所决定的,渗透测试嘛,就是要多尝试~
  • 好了,回归正题,如果是字符型的传参,如果直接像数字型一样,直接输入 and 1=1 是不是就相当于直接输入在单引号或者双引号里面了?就相当于字符串了,还怎么来测试是否可以执行数据库操作语句
  • 就像这样,输入的测试语句都被单作传参的字符串了
  • 这就是数字型和字符型的差别,数字型可以直接输入 and 1=1 | and 1=2 来测试是否输入的内容被当作代码去执行
  • 好了,我就不卖关子了,其实我们主动输入一个单引号或者双引号来让它闭合然后输入测试语句,最好在注释掉它原来的单引号或双引号,就样不就好了吗?
  • 废话,也不多说了,直接看操作吧
  • 我们先看按数字型的测试方法直接输入 and 1=1 | and 1=2 来看看,然后再看字符型的操作
  • 这里只是输入and 1=1 就直接报错了
  • 我们再来看一下,字符型的操作
  • 先注入一个单引号让它闭合后再输入测试语句然后注释掉原来的单引号

这里直接再url参数后面输入 ’ and 1=1 – qwe 和 ’ and 1=2 – qwe

  • 这里可以看出,and 1=1 页面显示正常和 and 1=2 页面报错
  • SQL注入的核心是什么?是用户输入的内容被当作代码去执行了。这里输入的内容被当作代码去执行了,说明存在SQL注入
  • 老样子,使用union联合查询(条件:union前后两条查询语句字段数必须相同),我们先用order by来看一下字段数是多少
  • order by的临界点是页面报错就是字段数

如order by 1 、order by 2 、order by 3页面显示正常,到了 order by 4页面报错,说明字段数是3个

  • 这里我就跳过了重复的order by…
  • 直接看报错
  • order by 5页面报错了,说明字段有4个
  • 上次说过,网站的数据库字段的数据,有些数据会显示,有些不会显示出来,这是网站开发者所决定的
  • 所以我们需要找到显示位是哪个
  • 废话就不多说了,直接看操作吧
  • 因为数据库的特性是先输出前面的内容,这里如果前面的内容被显示出来,就会把显示位给占了,那我们就要再前面的参数随便输入一个数据查询不出来的东西,前面不输出,如果后面查询语句为真就可以输出到网站显示位里
  • 显示位是2,3
  • 那我们就看看当前数据库
  • 数据库名是:mozhe_discuz_stormgroup
  • 我们通过information_schema这个库来查询当前数据库下有什么表

  • 得到mozhe_discuz_stormgroup数据库下有:notice和stormgroup_member两个表
  • 这样一眼就能看出我们需要的数据存在 stormgroup_member 这个表里面
  • 我们来查询一下看看 stormgroup_member 表里面有什么字段



  • stormgroup_member表里面有:id 、name、passwor、stutas
  • 这样就知道我们需要的数据就存在name和password里面
  • 那我们就直接查询这两个字段的数据就可以得到我们需要的账号密码
  • 得出账号是:mozhe密码是:e113e13b874e812ca17af9761be5d3c7
  • 然后密码拿去解密
  • 解密后是:328213
  • 我们打开刚开始的登录系统,输入账号和密码
  • 登录成功,获得flag

  • 提交flag值
  • 这次的墨者靶场-SQL手工注入漏洞测试(MySQL数据库-字符型)之路就结束了

0x03 结论

数字型和字符型的区别就是:前者可以直接输入语句测试是否存在SQL注入,而后者则有单引号或者双引号,需要先闭合然后注释掉原来的单引号或双引号,以后可能还会碰到带括号等等的情况,这只能通过试。渗透测试嘛,就是要多试多练;大佬勿喷,小弟水平有限,哪里如有不对的话请见谅

0x04 END

墨者靶场-SQL手工注入漏洞测试(MySQL数据库-字符型)相关推荐

  1. 《墨者学院——SQL手工注入漏洞测试(MySQL数据库)》

    作者: susususuao 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 一:思路 背景介绍 安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭 ...

  2. 墨者学院01 SQL手工注入漏洞测试(MySQL数据库)

    问题描述 鉴于我已经两周没能成功运行攻防世界的靶场环境...于是昨天又搜了一些网站,感觉墨者学院的题目还可以~ SQL手工注入虽然是一个已经被安全博主讲烂的主题,但是我之前很少有从头到尾实践手工注入的 ...

  3. Oracle数据库注入-墨者学院(SQL手工注入漏洞测试(Oracle数据库))

    本期来为大家讲解的sql注入题目是来墨者学院的SQL手工注入漏洞测试(Oracle数据库). 地址:http://124.70.22.208:42948/new_list.php?id=1(注意地址已 ...

  4. MongoDB数据库注入-墨者学院(SQL手工注入漏洞测试(MongoDB数据库))

    本期来为大家讲解的sql注入题目是来墨者学院的SQL手工注入漏洞测试(MongoDB数据库). 地址:http://124.70.71.251:46804/new_list.php?id=1(注意这里 ...

  5. 墨者靶场:SQL手工注入漏洞测试(MySQL数据库)

    有一说一,本来是准备把笔记写在墨者的解题思路里的,结果不让写了,离谱 启动靶场后,会进入一个登录界面,界面下面有一个维修公告,打开公告. 1.判断有没有注入点: 219.153.49.228:4946 ...

  6. 墨者 SQL手工注入漏洞测试(MySQL数据库)

    测试注入点 http://124.70.64.48:40014/new_list.php?id=1sdaf 不显示,说明存在注入点 order by http://124.70.64.48:40014 ...

  7. 墨者学院刷题笔记——SQL手工注入漏洞测试(MongoDB数据库)

    今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL手工注入漏洞测试(MongoDB数据库). 一.题目简介 我们这里采用墨者学院的MongoDB数据库渗透测试题目,其地址为:https:/ ...

  8. SQL手工注入漏洞测试(Oracle数据库)

    SQL手工注入漏洞测试(Oracle数据库) 0x01前言 本文旨在讲述Oracle数据库多种情况下如何进行注入 靶场地址:SQL手工注入漏洞测试(Oracle数据库)_SQL注入_在线靶场_墨者学院 ...

  9. SQLServer数据库注入-墨者学院(SQL手工注入漏洞测试(Sql Server数据库))

    本期来为大家讲解的sql注入题目是来墨者学院的SQL手工注入漏洞测试(Sql Server数据库). 地址:http://219.153.49.228:42295/new_list.asp?id=2( ...

最新文章

  1. 八个最致命的Linux命令!
  2. 总线制和多线制示意图_知识||RS485简介及与其他总线网络的区别
  3. jQuery UI 拖动(Draggable) - 延迟开始
  4. 微信小程序拍照视频上传php,微信小程序-拍照或选择图片并上传文件
  5. ASP.NET制作一个简单的等待窗口
  6. how can we make them work together efficiently?
  7. linux虚拟网桥配置nat,使用NAT在Proxmox VE 6上创建专用网桥的方法
  8. orton效果_如何使图片发光:Orton效果
  9. magento 增加一个layout template
  10. (转)Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布
  11. openssl passwd
  12. python 字符编码识别及转换
  13. 公元纪年法(儒略历-格里高历)转儒略日
  14. 【邢不行|量化小讲堂系列06-Python量化入门】极简方法将日线数据转为周线、月线或其他周期
  15. 微信公众号信息推送实现业务解耦
  16. 人工智能命题逻辑--测试题答案(三)
  17. 魔百盒CM211-2 ZG(朝哥代工)无WIFI版线刷救砖包(当贝桌面)
  18. #pragma DATA_SECTION的使用
  19. python简单小游戏代码教程,python小游戏程序源代码
  20. [C++] 获取IE代理服务器的账号密码

热门文章

  1. 进阶版的Pandas数据分析神器:Polars
  2. 狗生活在陆地上 java,第四晚,生活在陆地上的鱼
  3. Facebook全球争夺工智能人才,看上了中国高校
  4. Debug: defusedxml, CV_LOAD_IMAGE_UNCHANGED,CV_IMWRITE_JPEG_QUALITY,undistortPoints
  5. linux dns主配置文件,RHEL 5下DNS的主配置文件详解
  6. java idwork长度_java 字符串id
  7. tp5接收前台传的值_tp5数据接收
  8. OSX: 使用命令行对FileVault2分区恢复
  9. 《信号完整性分析》的读书笔记和总结
  10. 视唱练耳——调式调号听辨