当前位置: 首页 > article >正文

SQL注入之sqli-labs靶场搭建

文章目录

  • 前言:
  • 本地搭建靶场环境
    • 服务器下载
    • PHPstudy 下载
    • 源码下载
    • 靶场搭建
    • 源码修改
  • 全文总结:

前言:

简单介绍一下这个靶场, sqli-labs 靶场属于经典的 SQL 注入靶场,是一个专业的 SQL 注入练习平台。sqli-labs 是一个印度程序员编写的,一共有 65 个关卡,关卡的类型包括但不限于联合查询、报错注入、布尔盲注、延时注入、Header 头部注入、WAF 绕过等,涵盖的范围非常广,对于初学注入的朋友来说非常友好。靶场使用 php 编写,如果有代码基础的朋友可以尝试分析一下靶场源码。

靶场中的特定挑战点可能存在多种技术解决方案,因笔者目前尚处于知识迭代阶段,文中难免存在覆盖不全的情况,请各位大佬评论区留言指正。

本地搭建靶场环境

服务器下载

网站服务器推荐使用 windows server 系列,可视化操作非常友好

下载地址:https://next.itellyou.cn/Original/Index?id=7ab5f0cb-7607-4bbe-9e88-50716dc43de6

PHPstudy 下载

搭建网站环境需要 web 容器、动态语言解析器和数据库三要素,对于小白来说不太友好。建议使用集成服务器环境快速搭建软件,例如 Tomcat、PHPstudy,这里主要介绍 PHPstudy 快速搭建 sqli-labs 靶场。

下载地址:https://www.xp.cn/php-study

新版为 8.1 版本

也可以在旧版入口下载历史版本https://old.xp.cn/download.html

源码下载

https://github.com/Audi-1/sqli-labs

php7 版本下载:https://github.com/skyblueee/sqli-labs-php7

靶场搭建

将下载的源码解压到 PHPstudy 安装目录下的 www 安装目录下,修改源码中 sql-connections/db-creds.inc 文件中的 mysql 账号密码!!!(重要的事情三个感叹号)默认的 mysql 账号密码都是 root。

如果修改后的账号密码默认记事本无法保存,尝试使用 Notepad++编辑保存

想要修改数据库的密码,可以在左侧栏切换到数据库,点击修改密码。

打开浏览器访问 127.0.0.1,默认访问 80 端口,可以看到页面中显示 sqli-labs 和其它文件列表,点击 sqli-labs 就可以访问靶场。这里可以看出访问网站,本质上是访问服务器 www 目录下的源码文件。这里为了方便访问,我把文件名改为了 sqli。

点击 sqli-labs 访问靶场首页,点击 "Setup/reset Database for labs"来创建数据库,创建表并填充数据。

显示如下页面即为完成数据库的填写

接下来就可以开始打靶了

Page-1(Basic Challenges) 初级挑战

点击第一关,输入任意 id 值就可以开始 sql 注入之旅了。通关后直接在 url 栏更改 less 的值即可进入下一关

源码修改

在源码中$sql 下面添加两行代码,即可使输入的内容显示在页面上,便于学习

echo $sql;
echo "</br>";

全文总结:

如果访问 ip 显示 403 Forbidden ,原因是没有开启目录索引,点击修改,进入高级设置,开启目录索引即可

如果使用的是旧版 PHPstudy,例如 2016 版本,开启目录索引方法如下:

打开 vhost-conf 配置文件

复制 ① 的内容到 ② 即可,本文的 phpstudy2016 版本是将靶场搭建在了 81 端口

PHPstudy 8.1 版本默认的是 php7.x,需要手动改为 php5.x 版本。因为在 php7.x 之后,就不再支持 mysql_connect(),而是 mysqli_connect()。

mysql 的版本过低是没有 information_schema 自带库的,不方便靶测试,mysql 的版本建议 5.5.x 及以上。

靶场的搭建建议在虚拟机内进行,搭建完成后保存快照,可以一键还原初始状态,非常的方便。本机访问使用 ipconfig 命令查看服务器内网 ip 即可。

文中使用的浏览器为 Firefox52.0.2 便携版,下载地址为:
https://mp.weixin.qq.com/s/whvbCj_078N5ZbgK7rFKCA

https://gitcode.com/open-source-toolkit/e9df0/blob/main/README.md


http://www.kler.cn/a/583224.html

相关文章:

  • Linux 字符设备驱动实例
  • wpf中DataGrid组件每一行的背景色动态变化
  • 纯前端全文检索的两种实现方案:ElasticLunr.js 和 libsearch
  • 网络通信Socket中多态HandleIO设计模式深度解析
  • 打造Windows服务器安全堡垒:安当SLA双因素认证方案详解
  • Docker 入门与实战指南
  • PostgreSQL与Oracle数据库相比有什么优势
  • sql靶场--布尔盲注(第八关)保姆级教程
  • Flash Attention 算法简介
  • openai-cua-sample-app - 使用计算机的 Agent示例应用
  • 【C语言系列】字符函数和字符串函数
  • golang算法二分查找
  • Qt开源控件库(qt-material-widgets)的编译及使用
  • 【原创】springboot+vue音乐教育培训管理系统设计与实现
  • 2.angular指令
  • AI驱动的数字供应链安全情报预警服务:云脉XSBOM
  • Token登录授权、续期和主动终止的方案(Redis+Token(非jwtToken))
  • 点云深度学习系列:PVRCNN——point-voxel融合的分割模型
  • 攻防世界web:NewsCenter(含sqlmap基本参数讲解)
  • 引入其他 YML 配置源 —— Spring Boot 中的 `import` 功能