SQL注入基础+DVWA搭建

一、注入原理

后台直接执行用户输入参数,未过滤,导致恶意SQL语句执行,泄露数据库数据。

二、两大基础注入类型

  • 数字型:参数无引号包裹,直接拼接

例:id=1

  • 字符型:参数被单/双引号包裹,必须先闭合

例:id='1'

三、字符型核心闭合思路

1.单引号闭合:'报错确认存在注入

2.注释掉后面原有语句;--+或#

3.万能基础语句

复制代码
' or 1=1 --+

四、基础联合查询注入流程

1.判断字符数:order by 1/2/3

2.找显示位

3.查询库名、表名、字段、数据

五、payload

复制代码
1' or 1=1 --+
1' union select 1,database() --+
1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()--+

六、DVWA搭建

1.首先下载phpstudy,打开web服务

  • Apache
  • MyAQL

2.下载 DVWA

官网下载:https://github.com/digininja/DVWA

点 Code → Download ZIP。

3.解压后文件名改为dvwa

4.进入phpstudy,创建网站,域名随便填,这里php版本选择7.3/7.4

5.点击管理,选择打开根目录,把刚刚解压的dvwa整个文件夹拖进去;

6.配置数据库连接(核心)

进入 dvwa/config 文件夹。

复制一份:config.inc.php.dist

并重命名为:config.inc.php

用记事本打开 config.inc.php,修改 3 行:

复制代码
$_DVWA['db_user'] = 'dvwa';         // 数据库账号(默认root)
$_DVWA['db_password'] = '';          // 密码:单引号中填密码
$_DVWA['db_database'] = 'dvwa';     // 数据库名:dvwa

7.打开网站

8.修复 allow_url_include: Disabled

  • 打开 phpstudy,找到你当前使用的 PHP 7.4.3,点击右侧的「配置」,选择 php.ini。

  • 在文件中搜索以下两行配置,并修改为:

    allow_url_fopen = On
    allow_url_include = On

注意:allow_url_include 在 PHP 7.4 中被标记为 "已弃用",但 DVWA 仍然需要它来运行部分漏洞。

  • 保存文件,然后在 phpstudy 中重启 Apache 服务。
  • 刷新 DVWA 的 Setup 页面,确认 allow_url_include 变为 Enabled。

9.在phpstudy中,点击数据库,创建数据库,填写刚刚修改的内容,一定要与刚刚文件内容一致

10.登录DVWA

帐号:admin

密码:password

在左侧菜单栏找到DVWA Security,将安全等级改为low,点击submit提交,这样就可以开始练习了。

相关推荐
宋浮檀s14 小时前
DVWA通关教程1
网络·安全·web安全
IT大白鼠14 小时前
Dirty Frag漏洞深度分析:Linux内核页缓存污染漏洞的技术原理与安全防护
linux·安全·dirty frag漏洞
Amarantine、沐风倩✨14 小时前
Oracle 性能排查:通过 V$LONG_EXEC_SQLS 快速定位慢 SQL
数据库·sql·oracle
祁白_14 小时前
[0xV01D]_Glass Parcel_writeUp
大数据·安全·ctf·writeup
倔强的石头10615 小时前
生产环境排坑实录:SQL 标量子查询的“静默杀手”与优化器的智能推演
数据库·sql
jnrjian15 小时前
控制用户alter user 修改密码的两种办法 dbv and triggers
数据库·oracle
米高梅狮子15 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github
得物技术15 小时前
Claude Code Harness 工程:数仓侧落地方案|得物技术
数据库·人工智能·ai编程