如何在mac上搭建sqli-labs
近期想学习sql注入,但是一来网络上的资料参差不齐,难以系统的学习;二来随着程序员安全意识的提高,这种完全可以避免的注入漏洞越来越少见了,所以难以找一个合适的网站练手,于是乎,sqli-labs这种实验平台成为了学习的一个绝佳途径。
- 首先登陆https://github.com/Audi-1/sqli-labs
- 如果安装了git,可以直接在终端下使用
git clone https://github.com/Audi-1/sqli-labs.git sqli-labs命令来生成一个名为sqli-labs的文件夹,远程仓库中的内容都在这个文件夹里。当然,也可以在网站里下载它的压缩包。 - sqli-labs需要有apache,mysql和php,mac自带了apache和php,只需下载mysql即可,但我是用本机自带的环境并没有成功安装sqli-labs,甚为困惑,所以我使用了XAMPP的集成环境。
先在网上下载XAMPP,安装成功后软件如图所示

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

(如果本机已经安装了mysql 而Mysql Database未能打开,则应该先在系统偏好设置里将mysql停止。)
打开浏览器输入http://localhost ,若显示如下页面则表明正确

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

进入账户点击localhost行的修改权限,之后点击修改密码,输入两遍密码后提交即可。
- 将sqli-labs文件夹移入XAMPP/htdocs目录下
- 进入sqli-labs/sql-connections 打开db-creds.inc,修改$dbpass为你xampp数据库的密码

(我设置的密码为root)
- 如此大功告成了么?打开浏览器输入http://localhost/sqli-labs

点击Setup/reset Database for labs,如果一切正常应该是这样的:
但你有可能是这样的:
对于这种情况,再经过我大量的百度和google之后得知,这是由于php5之后移除了mysql扩展导致的,进入sqli-labs/sql-connections
打开任意文件查看代码即可发现所使用的皆为如mysql_xxx()格式的函数,
- 针对这种问题
我们需要使用mysqli扩展,将此文件夹下的所有文件中的mysql_替换为mysqli_,还需要把mysql_error()改为mysqli_error($con),将mysql_query($sql)改为mysqli_query($con,$sql),在sql-connect-xxx的三个文件中,将mysqli_select_db函数中的参数调换位置。 - 如此一来,便大功告成了!
如何在mac上搭建sqli-labs的更多相关文章
- mac 教你如何在Mac上搭建自己的服务器——Nginx
WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...
- 如何在Mac上搭建自己的服务器——Nginx
1.安装Homebrew 打开终端,输入: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- 在MAC上搭建cordova3.4.0的IOS和android开发环境
Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...
- 1、在MAC上搭建React Native开发环境
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Mac上搭建直播服务器Nginx+rtmp
简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 步骤安装 1.安装Homebrow Homebrew简 ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
- 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享
如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...
- iOS学习——如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒
如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒.做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发 ...
随机推荐
- cookie的初步认识
一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...
- C#图解教程 第十四章 事件
事件 发布者和订阅者源代码组件概览声明事件订阅事件触发事件标准事件的用法 通过扩展EventArgs来传递数据移除事件处理程序 事件访问器 事件 发布者和订阅者 很多程序都有一个共同的需求,既当一个特 ...
- Python Cookbook(第3版)中文版:15.17 传递文件名给C扩展
15.17 传递文件名给C扩展¶ 问题¶ 你需要向C库函数传递文件名,但是需要确保文件名根据系统期望的文件名编码方式编码过. 解决方案¶ 写一个接受一个文件名为参数的扩展函数,如下这样: static ...
- [Luogu4174][NOI2006]最大获益
luogu sol 一周没摸键盘了回来刷刷水题练练手感 显然,最大化收益可以转化为最小化损失,从而建立最小割模型. 记\(tot=\sum_{i=1}^{m}C_i\),事先假设所有的获益都得到了,那 ...
- iOS开发——自定义转场动画
首先是UIPresentationController,这个控制器给modal新的viewController提供了下一步的view和转场的管理,从一个viewController被modal出来到被 ...
- c++程序运行时的内存分配《转》
C++中,内存分为5个区:堆.栈.自由存储区.全局/静态存储区和常量存储区. 1.栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区.通常存放局部变量.函数参数等. 2.堆:是由new分配的 ...
- JDK源码及其他框架源码解析随笔地址导航
置顶一篇文章,主要是整理一下写过的JDK中各个类的源码及其他框架源码解析的文章,方便自己随时阅读也方便网友朋友们阅读与指正 基础篇 从为什么String=String谈到StringBuilder和S ...
- 应用canvas绘制动态时钟--每秒自动动态更新时间
使用canvas绘制时钟 下文是部分代码,完整代码参照:https://github.com/lemoncool/canvas-clock,可直接下载. 首先看一下效果图:每隔一秒会动态更新时间 一. ...
- LINUX下解决TIME_WAIT等网络问题
修改配置文件 /etc/sysctl.conf net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout ...
- java map遍历、排序,根据value获取key
Map 四种遍历: Map<String,String> map = new HashMap<String, String>(); map.put("one" ...