安全攻防——搭建sql注入靶场
sql注入简介
最近一段时间负责公司产品安全相关工作,便了解一些相关技术,sql注入就是其中著名又重要的一项。
在了解sql注入之前,以为sql注入只是简单的利用 1=1 这样类似的sql拼接来登录网站,当开始接触后才发现原来sql注入的种类有这么多。
sql注入的类型与注入技术
根据数据类型可以分为以下几种:
- 数字型注入
- 字符型注入
包括但不限于以下sql注入技术:
- Error based
- Double Injection
- Dump into file
- Blind Boolean based
- Blind Time based
…
太多了不逐个列举了,而且我此时也没有全面了解sql注入。
学习环境搭建(需要安装docker)
很多情况都是通过靶场来学习安全攻防,防止触及红线。这里使用sqli-labs靶场来学习sql注入。
- 搭建靶场
docker pull acgpiano/sqli-labs
- 启动靶场,将镜像中80端口映射到本地90端口(此端口根据自己端口使用情况设置)
docker run -dt --name sqli-labs -p 90:80
- 访问服务
此时靶场搭建完成,浏览器访问localhost:port(指定的端口)即可使用