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学习笔记的主要内容,如果未能解决你的问题,请参考以下文章