原本是像写一篇 SELinux 的文章的.而我写总结文章的时候,总会去想原因是什么,为什么会有这种需求.而我发觉 SELinux 的需求是编程人员的神奇代码或者维护者的脑袋短路而造成系统容易被攻击.就想找个充满漏洞的系统来证明 SELinux 的必要性.就找到了 DVWA .因为它存在很多方面的漏洞,而且还有不同级别的攻击方式,觉得还挺好玩的...所以就不如开发一遍新大陆,把攻防两端的手段也记录一下. DVWA 介绍 DVWA 就是个充满漏洞的系统, 全称是 Damn Vulnerable We…
暴力破解,简称"爆破".不要以为没人会对一些小站爆破.实现上我以前用 wordpress 搭建一个博客开始就有人对我的站点进行爆破.这是装了 WordfenceWAF 插件后的统计的情况. 装了 WordfenceWAF 看到报告就深刻感受到国际友人对我这破站的安全性的深刻关怀了.你不封他们的 ip ,他们的程序就会像中了 "奇淫合欢散" 那些对你的网站锲而不舍地爆破.而下面会从 dvma 中学习如何爆破和如何防爆破. 初级 页面是这样的. 很简单的登录,代码可以点…
反射型攻击那篇提及到,如何是"数据是否保存在服务器端"来区分,DOM 型 XSS 攻击应该算是 反射型XSS 攻击. DOM 型攻击的特殊之处在于它是利用 JS 的 document.write .document.innerHTML 等函数进行 "HTML注入" 下面一起来探讨一下吧. 初级 这是一个普通的选择器. 选择了 English 之后是这个样式的 但打开调试器,看到的这段 JS 代码就很成问题了 if (document.location.href.in…
之前在 CSRF 攻击 的那篇文章的最后,我觉得可以用验证码提高攻击的难度. 若有验证码的话,就比较难被攻击者利用 XSS 漏洞进行的 CSRF 攻击了,因为要识别验证码起码要调用api,跨域会被浏览器拦截,再者一些验证码很难被识别,比如知乎点击倒立的汉字,拖动拼图.百度的汉字验证码,谷歌的神奇的勾勾... 觉得这篇文章像是 CSRF 攻击 的一种补充(更像是谷歌验证码的使用教程,而且正常人的逻辑也不会犯这个问题的,其实可以跳过这篇文章) 话说回来,你会发现页面是这样的 其实也不用***,直接在…
这么多攻击中,CSRF 攻击,全称是 Cross Site Request Forgery,翻译过来是跨站请求伪造可谓是最防不胜防之一.比如删除一篇文章,添加一笔钱之类,如果开发者是没有考虑到会被 CSRF 攻击的,一旦被利用对公司损失很大的. 低级 界面如下,目的是实现修改密码 低级代码如下 <?php if( isset( $_GET[ 'Change' ] ) ) { // Get input $pass_new = $_GET[ 'password_new' ]; $pass_conf…
新版本的 DVWA 有新东西,其中一个就是这个 JavaScript 模块了. 玩法也挺特别的,如果你能提交 success 这个词,成功是算你赢了.也看得我有点懵逼. 初级 如果你改成 "success" 提交一下会出现了这个,Invalid token.这是什么回事呢? 你可以打开控制台(F12),看看情况. 你会看到这个 token,不是后台生成的,而是前台生成的...而前台生成的 token,是用 md5("ChangeMe"),而后台期待的 md5 是 m…
上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码获取用户的 cookies,想想如果代码中再加入自动转发功能,每个看过那条微博的用户都会被偷 cookies 和自动转发!像网络病毒一样的传播速度啊!恐怖如斯! 低级 功能很简单.点击提交就会有相应的文字. 此时,Hacker 在里面输入 <script>alert(1)</script&g…
上一篇文章谈及了 dvwa 中的SQL注入攻击,而这篇和上一篇内容很像,都是关于SQL注入攻击.和上一篇相比,上一篇的注入成功就马上得到所有用户的信息,这部分页面上不会返回一些很明显的信息供你调试,就连是否注入成功也要自己判断的,因此叫盲注.更值得留意的是盲注的思路 (盲注就让我想起了...许昕,中国乒乓球国手+人民艺术家.然而他400°近视,日常带眼镜,打球反而不带,球感远超常人, 人称大蟒.世界第一盲打) 要盲注的页面往往是这样的 没有很具体的错误提示,只会提示用户存在还是不存在 所以有时候…
web 程序中离不开数据库,但到今天 SQL注入是一种常见的攻击手段.如今现在一些 orm 框架(Hibernate)或者一些 mapper 框架( iBatis)会对 SQL 有一个更友好的封装,使得SQL注入变得更困难,同时也让开发者对SQL注入漏洞放松警惕,甚至一些开发者是不知道有SQL注入这回事的.下面通过 dvwa 一起来了解下SQL注入的漏洞吧. 低级 界面如下 功能很简单,就是输入 user Id,就显示对应的用户的 FirstName 和 SurName. 代码如下. <?php…
说起文件上传漏洞 ,可谓是印象深刻.有次公司的网站突然访问不到了,同事去服务器看了一下.所有 webroot 文件夹下的所有文件都被重命名成其他文件,比如 jsp 文件变成 jsp.s ,以致于路径映射不到 jsp 文件,同事怀疑是攻击者上传了个 webshell 文件然后进行批量重命名了. 把后台的代码都找了一遍,后台代码也都有验证文件扩展名的,后面是发现一张普通的照片其实是代码来的,但也不知道为何能够执行.但看完这篇文章你就会明白了. 下面用 dvwa 来演示如何攻击和防御. 低级 用户界面…