近期想学习sql注入,但是一来网络上的资料参差不齐,难以系统的学习;二来随着程序员安全意识的提高,这种完全可以避免的注入漏洞越来越少见了,所以难以找一个合适的网站练手,于是乎,sqli-labs这种实验平台成为了学习的一个绝佳途径。

  1. 首先登陆https://github.com/Audi-1/sqli-labs
  2. 如果安装了git,可以直接在终端下使用git clone https://github.com/Audi-1/sqli-labs.git sqli-labs命令来生成一个名为sqli-labs的文件夹,远程仓库中的内容都在这个文件夹里。当然,也可以在网站里下载它的压缩包。
  3. sqli-labs需要有apache,mysql和php,mac自带了apache和php,只需下载mysql即可,但我是用本机自带的环境并没有成功安装sqli-labs,甚为困惑,所以我使用了XAMPP的集成环境。
  4. 先在网上下载XAMPP,安装成功后软件如图所示

  5. 点击Manage Servers,点击start all将服务全部打开

(如果本机已经安装了mysql 而Mysql Database未能打开,则应该先在系统偏好设置里将mysql停止。)

  1. 打开浏览器输入http://localhost ,若显示如下页面则表明正确

  2. XAMPP的mysql数据库密码默认为空,但这会导致错误,所以需要更改XAMPP的数据库密码,打开浏览器输入http://localhost/phpmyadmin/ ,

进入账户点击localhost行的修改权限,之后点击修改密码,输入两遍密码后提交即可。

  1. 将sqli-labs文件夹移入XAMPP/htdocs目录下
  2. 进入sqli-labs/sql-connections 打开db-creds.inc,修改$dbpass为你xampp数据库的密码

(我设置的密码为root)

  1. 如此大功告成了么?打开浏览器输入http://localhost/sqli-labs

点击Setup/reset Database for labs,如果一切正常应该是这样的:

但你有可能是这样的:

对于这种情况,再经过我大量的百度和google之后得知,这是由于php5之后移除了mysql扩展导致的,进入sqli-labs/sql-connections

打开任意文件查看代码即可发现所使用的皆为如mysql_xxx()格式的函数,

  1. 针对这种问题

    我们需要使用mysqli扩展,将此文件夹下的所有文件中的mysql_替换为mysqli_,还需要把mysql_error()改为mysqli_error($con),将mysql_query($sql)改为mysqli_query($con,$sql),在sql-connect-xxx的三个文件中,将mysqli_select_db函数中的参数调换位置。
  2. 如此一来,便大功告成了!

如何在mac上搭建sqli-labs的更多相关文章

  1. mac 教你如何在Mac上搭建自己的服务器——Nginx

    WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...

  2. 如何在Mac上搭建自己的服务器——Nginx

    1.安装Homebrew 打开终端,输入: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ ...

  3. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  4. 在MAC上搭建cordova3.4.0的IOS和android开发环境

    Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...

  5. 1、在MAC上搭建React Native开发环境

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. Mac上搭建直播服务器Nginx+rtmp

    简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 步骤安装 1.安装Homebrow Homebrew简 ...

  7. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

  8. 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享

    如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...

  9. iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒

    如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒.做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发 ...

随机推荐

  1. 微信小程序之上传下载交互api

    wx.request(OBJECT) OBJECT参数说明: 参数名 类型 必填 说明 url String 是 开发者服务器接口地址 data Object.String 否 请求的参数 heade ...

  2. RobotFramework自动化测试框架的基础关键字(一)

    1.1.1        如何搜索RobotFramework的关键字 有两种方式可以快速的打开RIDE的关键字搜索对话框 1.选择菜单栏Tools->Search Keywords,然后会出现 ...

  3. Fu+ 后台管理 (Thinkphp)

    简要:小主从事PHP二年,期间一直做后台;为此向大家分享我制作一个后台(权限),希望能够跟各位PHP大神学习探索,如果有不对或者好的建议告知下:*~*! 1. 介绍 Fu+ 后台管理,是本人基于H+好 ...

  4. C#多线程编程(4)--异常处理+前三篇的总结

    本来是打算讲并行For和PLINQ的,但是我感觉前三篇我没有讲得很清晰.之前一直在看<CLR via C#>(后文简称CLR)的多线程部分,其中有些部分不是很明白,今天翻开<果壳中的 ...

  5. linux系统连接的概念及删除原理

    硬连接:ln 源文件 目标文件 软连接:ln -s 源文件 目标文件 (目标文件不能事先存在) 硬连接是通过索引节点inode来进行连接. 在Linux文件系统中,多个文件名指向同一个索引节点,硬连接 ...

  6. JavaScript:['1','2','3'].map(parseInt)问题解析

    最近碰到了['1','2','3'].map(parseInt)这种看似不起眼陷阱却极大的问题. 这乍一看,感觉应该会输出[1,2,3].但是,实际上并不是我们想的这样.你可以现在打开console, ...

  7. UML 中extend和include的区别

    在UML用例图中有两种关系——包含和扩展,容易混淆,下面通过一张表来区别一下这两种关系.

  8. PetaPoco批量插入数据

    VS添加完组件,自动生成的PetaPoco.cs文件中没有SqlBulkInsert这个方法,但是可以在里面添加,代码如下: /// <summary> /// BulkInsert // ...

  9. Myeclipse配置tomcat,以及简单的Myeclipse的配置

    第一次总结技术相关的东西,那就坚持下去每天写一点.[有错欢迎指正,本人小白,轻虐] 首先,(以我的为例子吧)需要准备原材料,当然了也需要根据自己的机器底层架构选择了---Myeclipse(2015) ...

  10. python集合深浅copy

    一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...