DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。
DWVADVWA共有十个模块,分别是: Brute Force(暴力(破解)) Command Injection(命令行注入) CSRF(跨站请求伪造) File Inclusion(文件包含) File Upload(文件上传) Insecure CAPTCHA (不安全的验证码) SQL Injection(SQL注入) SQL Injection(Blind)(SQL盲注) XSS(Reflected)(反射型跨站脚本) XSS(Stored)(存储型跨站脚本) 需要注意的是,DVWA 1.9的代码分为四种安全级别:Low,Medium,High,Impossible。我们可以通过比较四种级别的代码,接触到一些PHP代码审计的内容。
搭建条件:phpstudy 下载好的DWVA压缩包(下载网址http://www.dvwa.co.uk/)
phpStudy是集成了Apache和MySql的集成环境,下载好安装phpStudy,(在官网搜索下载就可以)
安装好后在浏览器运行127.0.0.1 出现hello word就是安装好了
下载DWVA压缩包
把DWVA压缩包解压到phpStudy的WWW目录之下 配置一下相关文件 首先最好先配置一下phpStudy的数据库密码(默认数据库密码是“root” ,如果忘记数据库密码可以在PHPstudy里重置一下)
修改后将DVWA里的文件confing下的config.inc.php.dist修改为config.inc.php,找到其中的把原来的db_password后边的值改为刚设置的数据库密码(如果没有设置过数据库密码 默认密码是“root”) 修改成功后访问127.0.0.1/DVWA(这里是你DWVA解压后那个文件夹的名字)
如图是安装好了
然后点击如图绿色
再点击最下边的更新数据库
出现
然后若没有问题便会自动跳转至登陆界面 账号/密码:admin/password(是默认的)
这样环境就搭建好了
然后今天讲的是XSS与CSRF:
XSS
XSS分为三类
1.反射型XSS,也叫做“非持久型XSS”,只是简单的把用户输入的数据“反射”给浏览器;
2. 存储型XSS,也叫做“持久型XSS”,会把用户输入的数据“存储在”服务器端。常见的场景是,黑客写下一篇含有恶意JavaScript代码的博客文章,文章发表后,所有访问该博客文章的用户,都会在他们的浏览器中执行这段恶意的JavaScript代码;
3.DOM Based XSS,从效果来说也是反射型XSS,单独划分出了是因为DOM Based XSS的形成原因比较特殊,通过修改页面的DOM节点形成的XSS
XSS反射类:
举个例子:
把php里根站点里的代码改为后端代码
<?php $input = $_GET['param']; echo $input; ?>意思就是接受参数param,并将它的值输出到页面 比如
但是如果提交一段JavaScript代码
<script>alert('hello world');</script>如图出现了hello word的弹窗
<script>alert(1)</script>这段代码在当前页面执行了
如果用户的输入提交后触发了弹窗,那么就说明存在XSS
就是XSS的第一种类型,反射型XSS
DOM Based XSS
例题:运行如下代码
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function test(){ //getElementById():查找并定位id元素 //定义一个变量str,获取id为text的值 var str = document.getElementById("text").value; //将超链接写入id为t的标签中 document.getElementById("t").innerHTML = "<a href='" + str + "' >testLink</a>"; } </script> </head> <body> <div id="t"></div> <input type="text" id="text"> <input type="submit" value="write" onclick="test()"> <!– 当点击按钮时,会触发JavaScript的test函数 --> </body> </html>运行 如图
当输入内容点击“write”按钮后,会在当前页面插入一个超链接,其地址为文本框内容
然后编辑函数'οnclick=alert("hello")//
会点击超链接出现hello弹窗
然后页面代码就变成了:<a href=‘ ‘ οnclick=alert("hello")//’ >testLink</a>
但是XSS并不等同于弹窗,上述例子只是为了检测是否存在XSS 认知XSS
XSS的常见危害:
CSRF没听懂 大致就是欺骗别人的URL 伪装URL进行欺骗啥的
