原本是像写一篇 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)(存储型跨站脚本)

而且还有级别的

  1. 低级:这安全级别非常容易受到攻击,毫无安全措施可言。它的作用是,用错误的编码让 Web应用程序的漏洞表现出来,并作为教授或者学习基本开发技术的平台。
  2. 中级:这个级别,开发人员会尝试保护但是失败。。。主要是提供一些不良代码实践(反模式)。它还对用户提出挑战,以改进他们的开发技术。
  3. 高级:这选项是中级难度的扩展,会混用更难攻击的代码或者替换不良代码来尝试保护。该漏洞可能不允许相同程度的利用(exploitation),类似于各种 Capture The Flags(CTFs)竞赛。
  4. 不可能。这个级别应该可以抵御所有漏洞。这是用来将有漏洞的代码和安全性代码做对比的。

看完这些介绍是否觉得有点像玩电子游戏,有不同级别的挑战,有各种的成就。

安装

以前安装觉得还是有点麻烦的,我之前也没怎么写过 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 系列的目录(已完结)

最新文章

  1. JavaScript中的CSS属性对照表
  2. web前端开发教程系列-2 - 前端开发书籍分享(转)
  3. NET中级课--文件,流,序列化1
  4. PICC国际标准ISO14443下载
  5. 【转向Javascript系列】深入理解Generators
  6. CodeForces 705A Hulk
  7. chapter11_2 Lua链表与队列
  8. Eclipse 添加 lib (导入 .jar 包)
  9. 记录Sql2012附加Sql2008的数据库出错的解决方案
  10. ES5-ES6-ES7_Generator 函数
  11. Python:Day08 文件操作
  12. Dubbo服务启动脚本
  13. [HDFS Manual] CH3 HDFS Commands Guide
  14. Python的Matplotlib库简述
  15. linux修改网卡名为eth0
  16. C++STL中的unique函数解析
  17. [cocos2d-x]游戏开发基础(图)
  18. SipDroid +miniSIPServer搭建SIP局域网语音通话(一)
  19. 2019pycharm破解大法
  20. Web应用程序指纹识别工具BlindElephant

热门文章

  1. [Swift]LeetCode792. 匹配子序列的单词数 | Number of Matching Subsequences
  2. Linux 安装 Kafka
  3. MySQL优化之my.conf配置详解
  4. MySQL casting from decimal to string(mysql decimal 转 varchar)
  5. 课程五(Sequence Models),第三周(Sequence models & Attention mechanism) —— 2.Programming assignments:Trigger word detection
  6. linux系统安全设置策略
  7. ASP.NET MVC one view bind many model
  8. IIS与ASP.NET对请求的处理
  9. 从锅炉工到AI专家(11)(END)
  10. .net core下使用FastHttpApi构建web聊天室