在虚拟机中搭建本地的sqlmap靶场

引言:

        很多喜欢渗透测试的朋友在练习sqlmap时没有环境来训练,所以笔者在这里教大家自己来搭建一个本地的训练靶场进行练习,在书写的过程中可能会有不足和错误之处,还请大家不要见怪,并加以指出,相互学习,共同进步。

0x01 在虚拟机中安装Windows7系统

  1. 虚拟机安装操作系统的步骤可以百度
  2. 安装vmtool

0x02 配置WAMP环境

1.使用phpstudy一键配置WAMP环境

phpstudy下载:http://phpstudy.php.cn/

下载后复制到虚拟机中,进行安装,安装成功后打开如下图所示:

点击启动:

0x03 Sqli-labs安装

      需要安装以下环境 (1)apache+mysql+php (2)Tomcat+mysql+java(部分关卡需要) 如果可以的话,推荐在 windows 和 linux 下分别安装: Windows 下可以用 wamp、phpstudy、apmserv 等直接安装,linux 下可在网上搜索教程进行 安装。例如 ubuntu 下,新手基本靠软件中心和 apt-get 进行安装。这里就不赘述环境的安装了。 我 的 测 试 环 境 是 windows 下 用phpstudy直 接 搭 建 的 , linux 平 台 用 ubuntu14.04 , apache+mysql+php
    同时,在后面的几个关卡中,需要用到 tomcat+java+mysql 的服务器,此处因已经安装 apache+mysql+php,所以我们需要安装 tomcat+jre+java 连接 mysql 的 jar,具体过程不详细讲解。

Sqli-labs下载:下载地址

下载完成后需要将Sqli-labs 复制Windows7虚拟机中的 web目录下,如下图:

linux 的 apache 为 /var/www/html下,windows 下的 wamp解压在 www 目录下。

修改 sql-connections/db-creds.inc 文件当中的 mysql账号密码

注:默认的MySQL数据库的用户名和密码都是root

0x04 sqlmap的安装

因为sqlmap是使用Python进行开发的,需要需要Python的运行环境,但是只兼容2.x版本的Python,不兼容3.x版本的Python,所以选择比较稳定的Python2.7版本

Python2.7的下载:百度网盘链接提取码:of6a 

sqlmap下载:https://github.com/sqlmapproject/sqlmap

然后将下载好的sqlmap复制到C:\Python27目录下

进入sqlmap文件夹,安祖shift键右击,然后选择在此处打开命令窗口

0x05 进入靶场

在虚拟机中按win+R键输入cmd进入dos系统, 输入ipconfig查看虚拟机的IP地址

然后在本机中输入192.168.10.220/ sqli-labs或者在虚拟机中输入127.0.0.1/sqli-labs进入靶场

欢迎靶场搭建成功,开始你的注入之旅吧!:)

 

### SQL注入工具sqlmap靶场使用教程 #### 了解SQL注入与sqlmap SQL注入是一种常见的Web安全漏洞,允许攻击者通过构造恶意的SQL查询来操纵数据库。Sqlmap是一款开源的自动化SQL注入工具,支持多种类型的SQL注入技术,并能自动检测并利用这些漏洞。 #### 安装sqlmap 为了能够顺利运行sqlmap,需先完成其安装过程。通常可以通过pip或者git克隆官方仓库的方式进行安装[^1]。 #### 设置实验环境 对于想要实践SQL注入的学习者来说,建立一个安全可控的实验环境至关重要。Sqli-labs是一个专门为学习和研究SQL注入而设计的PHP应用程序集合。它提供了多个不同难度级别的挑战案例供使用者尝试各种形式的SQL注入攻击[^5]。另外,《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》一文中也详细介绍了如何构建适合做SQL注入练习的目标网站环境。 #### 使用sqlmap执行GET请求方式下的SQL注入测试 当面对基于GET方法传递参数的应用程序时,可以采用如下命令格式启动sqlmap扫描: ```bash python sqlmap.py -u "http://example.com/path?param=value" ``` 这里`-u`选项后面跟的是目标URL地址,其中包含了待测入参的具体位置。例如,在DVWA平台中针对带有ID参数的页面发起探测可参照下面的例子: ```bash python sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1" ``` 此操作将会让sqlmap去分析指定链接里的潜在风险点,并尝试挖掘出更多有关后台数据库结构的信息[^3]。 #### 提取特定数据表内的字段内容 如果已经确认某个站点存在SQL注入缺陷,则可通过附加相应参数进一步指示sqlmap从受影响的数据表里读取出感兴趣的记录条目。比如要获取名为`users`表格下`user`这一列的所有值,应该这样调用: ```bash python sqlmap.py -u "http://target_url" -D database_name -T table_name -C column_names --dump ``` 具体而言,若想查看DVWA应用内部存储用户名字的地方,那么完整的指令应该是这样的: ```bash python sqlmap.py -u "http://192.168.2.25/web/sqli2/Less-4/?id=1" -D dvwa -T users -C user --dump ``` 上述命令会告诉sqlmap连接至IP为`192.168.2.25`的服务端口上找到对应路径处存在的网页资源;接着指明所关心的数据源名称(`dvwa`)以及意图检索的对象——即`users`表单中的`user`属性项;最后加上`--dump`标志位表示希望立即导出匹配的结果集给用户查阅[^2]。 #### 应对带Cookie验证机制的情况 某些情况下,被保护起来的功能模块可能还会依赖于客户端提交的有效凭证才能正常工作。这时就需要额外提供必要的认证信息以便顺利完成整个渗透流程。假设已知某站点要求携带特定格式化的Cookies字符串作为准入条件之一的话,就可以按照这种方式调整之前的语法表达式: ```bash sqlmap -u "//测试的网址url//" -data="id=1&Submit=Submit" -cookie="/抓到的cookie值/" -D dvwa -T users -C user,password --dump ``` 这段代码片段展示了怎样向服务器发送包含POST变量(id=1)及其关联动作按钮(Submit=Submit),同时还附上了之前截获下来的Session ID或其他任何形式的身份令牌(cookie=/抓到的cookie值/),从而绕过前端设置的安全屏障直达核心业务逻辑层面上实施更深层次的操作[^4]。 #### 探索其他功能区域 除了常规的登录界面之外,有时还能意外发现隐藏版块如/admin之类的管理入口。此时不妨试着直接打开浏览器访问该路由看看能否触发新的交互行为或是暴露出更多的敏感接口出来。一旦察觉到有疑似易受攻击之处便立刻着手对其进行深入剖析直至彻底掌握全部细节为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值