近期想学习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. 使用Gulp进行代码压缩的步骤以及配置

    一.安装步骤 1.首先确定是否安装了node.js,如果未安装,请先安装node.js: 2.确定是否安装了包管理工具npm,如未安装请安装:npm install npm -g: 3.安装gulp: ...

  2. linux和windows通用的路径

    String path=request.getSession().getServletContext().getRealPath("/")+"js" + Sys ...

  3. monkeyrunner_获取apk的包名和activity名

    一.使用adb获取单个apk的包名和Activity名称: 1.配置adb环境 a. 我的电脑点击右键-属性-高级-环境变量; b.  环境变量中新建PATH,变量值输入adb.exe工具所在目录; ...

  4. visual studio 2010 Error: IntelliSense: identifier "DWORD" is undefined

    在自己工程里,添加别的工程文件时,出现改错误 解决方法 在文件前添加: using namespace std; 参考: http://www.programgo.com/article/502412 ...

  5. POJ - 2828

    题意 输入队伍长度n 接下来n行,a,b 表示b插在队伍的a处 求队伍最后的情况 题解 刚开始并不知道要用线段树,经大佬点悟,发现最后插入的位置就是对应的a.所以可以从后往前依次插入,每次的位置pos ...

  6. java&python环境变量+idea&pycharm激活

    java: JAVA_HOME=C:\jdk1.5.0_06 PATH=%JAVA_HOME%\bin;%PATH% CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\l ...

  7. HAproxy负载均衡

    HAproxy 简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这 ...

  8. 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步

    同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...

  9. 多线程(三) java中线程的简单使用

    java中,启动线程通常是通过Thread或其子类通过调用start()方法启动. 常见使用线程有两种:实现Runnable接口和继承Thread.而继承Thread亦或使用TimerTask其底层依 ...

  10. spring+springMVC 整合 MongoDB 实现注册登录

    发现一入手 MongoDB,便无法脱离,简要说一下,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 也是在 Nosql 中我最喜欢的一种 ...