sqlilabs靶场学习
0x00 两个小目标
- 学习 s q l i l a b s 靶场。 \color{red}{学习sqlilabs靶场。} 学习sqlilabs靶场。 sql注入作为最常见的一类漏洞,对他的学习是必要的,但现在自己对于这部分基础知识一直没有时间认真整理,都是做题时接触到的杂七杂八的学习,刚好前段时间又结束了upload-labs的学习,腾出时间来系统的学习一下入门接触的第一大漏洞。
- 阅读 s q l m a p 源码。 \color{red}{阅读sqlmap源码。} 阅读sqlmap源码。从接触安全专业开始的第一个工具就是sqlmap,不管什么url,丢给sqlmap一把梭,遗憾的是至今也没有认真分析其原理和实现,今年也算是给自己定一个小目标吧,了解一下sqlmap 的原理和实现,慢慢打牢基础。
0x01 sqlilabs 简介
SQLI-LABS是一个学习SQLI的平台,GET和POST场景包括了许多基本的实验内容,例如:基于错误的注入、盲注、更新查询注入、插入查询注入、Header注入、二次注入、Bypass WAF、堆叠注入等等。
0x02 sqlilabs 环境搭建
其环境搭建也较为简单,在git bash
下运行git clone https://github.com/Audi-1/sqli-labs
命令clone
相应的项目内容,目前共69关,最近一次更新是9年前了,很难想象这是一个接近十年的项目。。。。
将整个项目源码放在 WWW
目录下,使用phpstudy
一键部署来搭建环境。
1.db-creds.inc文件配置
项目sqli-labs\sql-connections
目录中存在db-creds.inc
文件,包含了本机数据库的链接信息和要创建的数据库名称,这里的root
是我本机的密码。
修改完成后通过php文件创建需要的表结构,这里可以看到共有两个
dbname
,也分别对应两个conn
文件。
2.setup-db.php文件创建表结构
\sqli-labs\sql-connections\setup-db.php //security库名和challenges库名
在setup-db.php
文件中包含了setup-db-challenge.php
文件,因此直接访问运行\sql-connections\setup-db.php
即可。
运行test.php测试是否正确。
0x03 测试关卡
访问第一关,依据提示输入id=1,查询到当前login name
和 password
,表示环境搭建完毕,可以开始进行靶场学习,后续将结合关卡对注入的基础慢慢进行整理。