DVWA学习笔记

Posted 普洛提亚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DVWA学习笔记相关的知识,希望对你有一定的参考价值。

一开始有点乱,后期会整理哒

DVWA的安装

DVWA的基本漏洞——SQL

乌云上最常见的脚本漏洞莫过于SQL注入和XSS。

脚本安全的本质就是脚本接受了不安全的变量输入,又没得到有效的过滤,最后进入一些对敏感的函数就会对安全造成威胁。

最基本的SQL漏洞:

1 if(isset($_GET[‘Submit‘])){
2 
3     // Retrieve data
4 
5     $id = $_GET[‘id‘];
6 
7     $getid = "SELECT first_name, last_name FROM users WHERE user_id = ‘$id‘";//low.php
8     $result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ );

没有任何检查,自然就可以控制id了,如果我们的输入是“‘ union select ....”,那么就相当于多执行了一个语句。当然,用什么语句也是很讲究的。

再来看medium等级的

 1 //medium.php
 2 if (isset($_GET[‘Submit‘])) {
 3 
 4     // Retrieve data
 5 
 6     $id = $_GET[‘id‘];
 7     $id = mysql_real_escape_string($id);
 8 
 9     $getid = "SELECT first_name, last_name FROM users WHERE user_id = $id";
10 
11     $result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘</pre>‘ );
12 
13     $num = mysql_numrows($result);

虽然$id经过了mysql_real_escape_string转义了’,可是因为后面的SQL语句$id没有单引号保护,会被系统认为是数值型,导致数值型注入。。

这个时候构造,连分号都不要了。。“ 1 union select ...”

 

 DVWA的基本漏洞——XSS

脚本问题,终极目的是窃取cookie什么的。。

DVWA下的;low等级下,几乎没有什么防护,直接插入语句就可以了,像

<script>alert("五更钟")<script>

<script>alert(document.cookie)<script>

 

medium.php中,虽然对$message进行了尖括号转义,而且对 <script> 进行了替换,但是$name没有进行转义,而且跨站脚本可以用多种标签,如 <img /> ,等…。Name的 <input /> 限制了maxlength=‘10’的长度,但是我们的防御对象是精通技术的黑客。这种html下的长度限制是可以直接通过浏览器修改..然后通过大小写成功绕过str_replace(),插入XSS.

 

以上是关于DVWA学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

DVWA学习笔记--06--SQL Injection

DVWA学习笔记--03--File Inclusion

重读dvwa的笔记

学习笔记:python3,代码片段(2017)

笔记网易微专业-Web安全工程师-04.WEB安全实战-1.DVWA部署

安全技能学习笔记——反射型 XSS SQL 注入 (非盲注)