DVWA 黑客攻防演练(一) 介绍及安装
原本是像写一篇 SELinux 的文章的。而我写总结文章的时候,总会去想原因是什么,为什么会有这种需求。而我发觉 SELinux 的需求是编程人员的神奇代码或者维护者的脑袋短路而造成系统容易被攻击。就想找个充满漏洞的系统来证明 SELinux 的必要性。就找到了 DVWA 。因为它存在很多方面的漏洞,而且还有不同级别的攻击方式,觉得还挺好玩的。。。所以就不如开发一遍新大陆,把攻防两端的手段也记录一下。
DVWA 介绍
DVWA 就是个充满漏洞的系统, 全称是 Damn Vulnerable Web Application(该死的充满漏洞的网络应用),漏洞大体有这么几个:
- Brute Force(暴力(破解))
- Command Injection(命令行注入)
- CSRF(跨站请求伪造)
- File Inclusion(文件包含)
- File Upload(文件上传)
- Insecure CAPTCHA(不安全的验证码)
- SQL Injection(SQL注入)
- SQL Injection(Blind)(SQL盲注)
- XSS(Reflected)(反射型跨站脚本)
- XSS(Stored)(存储型跨站脚本)
而且还有级别的
- 低级:这安全级别非常容易受到攻击,毫无安全措施可言。它的作用是,用错误的编码让 Web应用程序的漏洞表现出来,并作为教授或者学习基本开发技术的平台。
- 中级:这个级别,开发人员会尝试保护但是失败。。。主要是提供一些不良代码实践(反模式)。它还对用户提出挑战,以改进他们的开发技术。
- 高级:这选项是中级难度的扩展,会混用更难攻击的代码或者替换不良代码来尝试保护。该漏洞可能不允许相同程度的利用(exploitation),类似于各种 Capture The Flags(CTFs)竞赛。
- 不可能。这个级别应该可以抵御所有漏洞。这是用来将有漏洞的代码和安全性代码做对比的。
看完这些介绍是否觉得有点像玩电子游戏,有不同级别的挑战,有各种的成就。
安装
以前安装觉得还是有点麻烦的,我之前也没怎么写过 php。。。感谢大杀器 docker。
# 因为 80 端口我给了本机的 ngnix
docker run --rm -it -p 5678:80 vulnerables/web-dvwa
而进入到 docker 里面可以这样。 先用获取容器的 id
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
56e69b5b67b6 vulnerables/web-dvwa "/main.sh" 26 hours ago Up 26 hours 0.0.0.0:5678->80/tcp
再进入
sudo docker exec -it 56e69b5b67b6 bash
来看看它默认的环境 查看发行版
cat /etc/issue
Debian GNU/Linux 9
你看得没错,root 用户进程 再根据 Debian 的 SELinux 设置
check-selinux-installation
bash: check-selinux-installation: command not found
应该是没有安装 SELinux的。
看下 php 版本
打开网页看看,我的地址是 192.168.0.110
KaliLinux
对了说起网络安全, 想起了一个专门给渗透用的 Linux 发行版 KaliLinux ,预装了很多渗透用的的工具(有些工具还挺难装的),之后会用到的。而我选择用虚拟机,或许官方也知道很多人用虚拟机吧,官方专门有虚拟机的镜像文件下载(密码默认是 toor)
DVWA 系列的目录(已完结)
- 暴力破解 Brute Froce
- 命令行注入 Command Injection
- CSRF 攻击 Cross Site Request Forgery
- 文件包含 File Inclusion
- 文件上传漏洞 File Upload
- 不安全的验证码 Insecure CAPTCHA
- weak sessionId
- SQL注入 SQL Injection
- SQL 盲注 SQL Injection Blind
- 反射型 XSS 攻击
- 存储型 XSS 攻击 Stored Cross Site Scripting
- DOM型 XSS 攻击 DOM Based Cross Site Scripting
- js 攻击 JavaScript Attacks
- 绕过内容安全策略 Content Security Policy (CSP) Bypass
DVWA 黑客攻防演练(一) 介绍及安装的更多相关文章
- DVWA 黑客攻防演练(十一) 存储型 XSS 攻击 Stored Cross Site Scripting
上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码 ...
- DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
上一篇文章谈及了 dvwa 中的SQL注入攻击,而这篇和上一篇内容很像,都是关于SQL注入攻击.和上一篇相比,上一篇的注入成功就马上得到所有用户的信息,这部分页面上不会返回一些很明显的信息供你调试,就 ...
- DVWA 黑客攻防演练(二)暴力破解 Brute Froce
暴力破解,简称"爆破".不要以为没人会对一些小站爆破.实现上我以前用 wordpress 搭建一个博客开始就有人对我的站点进行爆破.这是装了 WordfenceWAF 插件后的统计 ...
- DVWA 黑客攻防演练(十四)CSRF 攻击 Cross Site Request Forgery
这么多攻击中,CSRF 攻击,全称是 Cross Site Request Forgery,翻译过来是跨站请求伪造可谓是最防不胜防之一.比如删除一篇文章,添加一笔钱之类,如果开发者是没有考虑到会被 C ...
- DVWA 黑客攻防演练(十三)JS 攻击 JavaScript Attacks
新版本的 DVWA 有新东西,其中一个就是这个 JavaScript 模块了. 玩法也挺特别的,如果你能提交 success 这个词,成功是算你赢了.也看得我有点懵逼. 初级 如果你改成 " ...
- DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
XSS (Cross-site scripting) 攻击,为和 CSS 有所区分,所以叫 XSS.又是一种防不胜防的攻击,应该算是一种 "HTML注入攻击",原本开发者想的是显示 ...
- DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
web 程序中离不开数据库,但到今天 SQL注入是一种常见的攻击手段.如今现在一些 orm 框架(Hibernate)或者一些 mapper 框架( iBatis)会对 SQL 有一个更友好的封装,使 ...
- DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
说起文件上传漏洞 ,可谓是印象深刻.有次公司的网站突然访问不到了,同事去服务器看了一下.所有 webroot 文件夹下的所有文件都被重命名成其他文件,比如 jsp 文件变成 jsp.s ,以致于路径映 ...
- DVWA 黑客攻防演练(四)文件包含 File Inclusion
文件包含(file Inclusion)是一种很常见的攻击方式,主要是通过修改请求中变量从而访问了用户不应该访问的文件.还可以通过这个漏洞加载不属于本网站的文件等.下面一起来看看 DVWA 中的文件包 ...
随机推荐
- [Swift]LeetCode593. 有效的正方形 | Valid Square
Given the coordinates of four points in 2D space, return whether the four points could construct a s ...
- Java 8中用法优雅的Stream,性能也"优雅"吗?
之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率.干净.简洁的代码. 那么,Stream API的性能到 ...
- vue框架中的Axios封装
function axios(options) { let promise = new Promise((resolve, reject) => { var xhr ...
- 【Spark篇】---Spark中Action算子
一.前述 Action类算子也是一类算子(函数)叫做行动算子,如foreach,collect,count等.Transformations类算子是延迟执行,Action类算子是触发执行.一个appl ...
- nginx系列 3 nginx.conf介绍(1)
一. nginx.conf 文件结构概述 在第一篇中讲到nginx的安装,安装完后,默认的nginx服务器配置文件都存在安装目录conf中,主配置文件名为nginx.conf.下面是我linux系统安 ...
- redis 系列17 持久化 AOF
一.概述 除了上篇介绍的RDB持久化功能之外,Redis还提供了AOF(Append Only File)持久化功能.与RDB保存数据库中的键值对来记录数据库状态不同,AOF是通过保存redis服务器 ...
- Android客户端与服务器交互方式-小结
最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json.要在Android手机客户端与pc服务器交互,需要 ...
- 如何比较版本号--Python实现
需求 在写一个程序Django项目的setup程序(初始化环境,比如设置PIP源,安装该项目依赖的各种模块等操作)遇到一个系统当前模块版本和项目所需版本的比较然后给出建议是忽略还是升级.我的要求是不仅 ...
- TypeScript 基础知识点整理
一.TypeScript的特点 1.支持ES6规范 2.强大的IDE支持(集成开发环境) 允许为变量指定类型,减少你在开发阶段犯错误的几率. 语法提示,在IDE编写代码时,它会根据你所处的上下文把你能 ...
- Chapter 4 Invitations——11
"Bella?" His voice shouldn't have been so familiar to me, as if I'd known the sound of it ...