zkaq显错注入 pass- 01-04

本文深入解析SQL注入攻击的步骤,包括判断SQL注入的存在、确定字段数量、定位敏感数据所在的表和字段,以及如何利用SQL注入获取数据库信息。通过具体实例,帮助读者理解SQL注入的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

information_schema

这个系统自带库 其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等

information_schema.tables 存放表名和库名的对应
information_schema.columns 存放字段名和表名的对应

一:
在这里插入图片描述

在这里插入图片描述
id=1和id=2-1 输出的界面相同,判断存在SQL注入,之后利用order by 判断字段数

二:
在这里插入图片描述

在这里插入图片描述
order by 3 有结果而 order by 4无结果,判断出有3个字段

三:
在这里插入图片描述
利用 and 1=2 使前面的select 语句失效, 使其只能输出union 后的内容,已知有3个字段,使用select 1,2,3 判断出2,3字段为输出点,可任选一个输出我们想要的内容

四:

在这里插入图片描述
查表名
information_schema.tables 存放表名和库名的对应
之后用 limit 输出其他表,找到我们需要的表

在这里插入图片描述
或者用
group_concat( ) 函数输出所有表(有时候可能输出不全产生误会)

在这里插入图片描述

五:

在这里插入图片描述
查字段名
要一直带着 table_schema=database() 代表着从这个库里找的数据
table_name=‘error_flag’ 要有 ‘ ’

六:

在这里插入图片描述
找到flag 但是提交之后并不是正确答案,原因是有多个flag 利用limit 或者froup_concat() 函数输出其他flag 找到正确答案


总结:
一:判断是否有sql注入,并判断字段数
二:查找所需内容在哪个表,查表
三:查找所需内容所在字段,查字段
四:根据已查出的字段和表查出所需要的结果


pass - 02 在id=1 后加‘ d=1’ 在所有代码后加 - - qwe (两个-中间无空格)
pass - 03 在id=1 后加‘) id=1’) 在所有代码后加 - - qwe
pass - 03 在id=1 后加‘) id=1’) 在所有代码后加 - - qwe
pass - 03 在id=1 后加‘) id=1") 在所有代码后加 - - qwe

代表注释 空格会被认为多打的,所以多加一个qwe


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值