原本是像写一篇 SELinux 的文章的.而我写总结文章的时候,总会去想原因是什么,为什么会有这种需求.而我发觉 SELinux 的需求是编程人员的神奇代码或者维护者的脑袋短路而造成系统容易被攻击.就想找个充满漏洞的系统来证明 SELinux 的必要性.就找到了 DVWA .因为它存在很多方面的漏洞,而且还有不同级别的攻击方式,觉得还挺好玩的...所以就不如开发一遍新大陆,把攻防两端的手段也记录一下. DVWA 介绍 DVWA 就是个充满漏洞的系统, 全称是 Damn Vulnerable We…
文章会讨论 DVWA 中低.中.高.不可能级别的命令行注入 这里的需求是在服务器上可以 ping 一下其他的服务器 低级 Hacker 试下输入 192.168.31.130; cat /etc/apache2/apache2.conf; 瞬间爆炸, 竟然是直接执行 shell 的结果.再看看代码 <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ 'ip' ]; // Determine OS…
说起文件上传漏洞 ,可谓是印象深刻.有次公司的网站突然访问不到了,同事去服务器看了一下.所有 webroot 文件夹下的所有文件都被重命名成其他文件,比如 jsp 文件变成 jsp.s ,以致于路径映射不到 jsp 文件,同事怀疑是攻击者上传了个 webshell 文件然后进行批量重命名了. 把后台的代码都找了一遍,后台代码也都有验证文件扩展名的,后面是发现一张普通的照片其实是代码来的,但也不知道为何能够执行.但看完这篇文章你就会明白了. 下面用 dvwa 来演示如何攻击和防御. 低级 用户界面…
暴力破解,简称"爆破".不要以为没人会对一些小站爆破.实现上我以前用 wordpress 搭建一个博客开始就有人对我的站点进行爆破.这是装了 WordfenceWAF 插件后的统计的情况. 装了 WordfenceWAF 看到报告就深刻感受到国际友人对我这破站的安全性的深刻关怀了.你不封他们的 ip ,他们的程序就会像中了 "奇淫合欢散" 那些对你的网站锲而不舍地爆破.而下面会从 dvma 中学习如何爆破和如何防爆破. 初级 页面是这样的. 很简单的登录,代码可以点…
web 程序中离不开数据库,但到今天 SQL注入是一种常见的攻击手段.如今现在一些 orm 框架(Hibernate)或者一些 mapper 框架( iBatis)会对 SQL 有一个更友好的封装,使得SQL注入变得更困难,同时也让开发者对SQL注入漏洞放松警惕,甚至一些开发者是不知道有SQL注入这回事的.下面通过 dvwa 一起来了解下SQL注入的漏洞吧. 低级 界面如下 功能很简单,就是输入 user Id,就显示对应的用户的 FirstName 和 SurName. 代码如下. <?php…
上一篇文章谈及了 dvwa 中的SQL注入攻击,而这篇和上一篇内容很像,都是关于SQL注入攻击.和上一篇相比,上一篇的注入成功就马上得到所有用户的信息,这部分页面上不会返回一些很明显的信息供你调试,就连是否注入成功也要自己判断的,因此叫盲注.更值得留意的是盲注的思路 (盲注就让我想起了...许昕,中国乒乓球国手+人民艺术家.然而他400°近视,日常带眼镜,打球反而不带,球感远超常人, 人称大蟒.世界第一盲打) 要盲注的页面往往是这样的 没有很具体的错误提示,只会提示用户存在还是不存在 所以有时候…
这么多攻击中,CSRF 攻击,全称是 Cross Site Request Forgery,翻译过来是跨站请求伪造可谓是最防不胜防之一.比如删除一篇文章,添加一笔钱之类,如果开发者是没有考虑到会被 CSRF 攻击的,一旦被利用对公司损失很大的. 低级 界面如下,目的是实现修改密码 低级代码如下 <?php if( isset( $_GET[ 'Change' ] ) ) { // Get input $pass_new = $_GET[ 'password_new' ]; $pass_conf…
上一篇文章会介绍了反射型 XSS 攻击.本文主要是通过 dvwa 介绍存储型 XSS 攻击.存储型 XSS 攻击影响范围极大.比如是微博.贴吧之类的,若有注入漏洞,再假如攻击者能用上一篇文章类似的代码获取用户的 cookies,想想如果代码中再加入自动转发功能,每个看过那条微博的用户都会被偷 cookies 和自动转发!像网络病毒一样的传播速度啊!恐怖如斯! 低级 功能很简单.点击提交就会有相应的文字. 此时,Hacker 在里面输入 <script>alert(1)</script&g…
XSS (Cross-site scripting) 攻击,为和 CSS 有所区分,所以叫 XSS.又是一种防不胜防的攻击,应该算是一种 "HTML注入攻击",原本开发者想的是显示数据,然而攻击者输入却是有破坏性的代码,而且能被解析执行.Symantec在2007年报告更是指出跨站脚本漏洞大概占所有网站漏洞的84%. XSS 大致分成三种类型(白帽子讲web安全): 反射型,就是本文的内容. 存储型,在这篇文章会介绍. DOM 型,如果用是否会存储在服务器上区分的话,DOM型也是反射型…
之前在 CSRF 攻击 的那篇文章的最后,我觉得可以用验证码提高攻击的难度. 若有验证码的话,就比较难被攻击者利用 XSS 漏洞进行的 CSRF 攻击了,因为要识别验证码起码要调用api,跨域会被浏览器拦截,再者一些验证码很难被识别,比如知乎点击倒立的汉字,拖动拼图.百度的汉字验证码,谷歌的神奇的勾勾... 觉得这篇文章像是 CSRF 攻击 的一种补充(更像是谷歌验证码的使用教程,而且正常人的逻辑也不会犯这个问题的,其实可以跳过这篇文章) 话说回来,你会发现页面是这样的 其实也不用***,直接在…
新版本的 DVWA 有新东西,其中一个就是这个 JavaScript 模块了. 玩法也挺特别的,如果你能提交 success 这个词,成功是算你赢了.也看得我有点懵逼. 初级 如果你改成 "success" 提交一下会出现了这个,Invalid token.这是什么回事呢? 你可以打开控制台(F12),看看情况. 你会看到这个 token,不是后台生成的,而是前台生成的...而前台生成的 token,是用 md5("ChangeMe"),而后台期待的 md5 是 m…
反射型攻击那篇提及到,如何是"数据是否保存在服务器端"来区分,DOM 型 XSS 攻击应该算是 反射型XSS 攻击. DOM 型攻击的特殊之处在于它是利用 JS 的 document.write .document.innerHTML 等函数进行 "HTML注入" 下面一起来探讨一下吧. 初级 这是一个普通的选择器. 选择了 English 之后是这个样式的 但打开调试器,看到的这段 JS 代码就很成问题了 if (document.location.href.in…
用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识.用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器,服务器就知道你是谁了. 但是 session id 过于简单就会容易被人伪造.根本都不需要知道用户的密码就能访问,用户服务器的内容了. 下面就去看看一些不太合理的 sessionId 创建方式(这部分有点傻,正常人都不会这样设计 页面也比较简单的,点击 generate 就会生成一个 sessio…
文件包含(file Inclusion)是一种很常见的攻击方式,主要是通过修改请求中变量从而访问了用户不应该访问的文件.还可以通过这个漏洞加载不属于本网站的文件等.下面一起来看看 DVWA 中的文件包含漏洞. 低级 原本也不知道是什么意思,然后尝试点击一下 File1 就显示 File1 的内容了.而且发现 url 变成了 http://192.168.31.166:5678/vulnerabilities/fi/?page=file1.php Hacker 就在浏览器中输入了 http://1…
DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程. DVWA共有十个模块,分别是Brute Force(暴力(破解)).Command Injection(命令行注入).CSRF(跨站请求伪造).File Inclusion(文件包含).File Upload(文件上传).Insecure…
前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 gif 动图很花时间,为了把我的博客打造成精品我也是蛮拼的了.使用动图的优点是演示效果好,缺点是动图体积过大,为了降低图片体积,我只能降低分辨率了. 关于高效使用命令行这个话题,在网上已经是老生常谈了.而且本文也借鉴了 CSDN 极客头条中推荐了的<像黑客一样使用 Linux 命令行>.但是在本文…
阅读目录 前言 使用 tmux 复用控制台窗口 在命令行中快速移动光标 在命令行中快速删除文本 快速查看和搜索历史命令 快速引用和修饰历史命令 录制屏幕并转换为 gif 动画图片 总结 回到顶部 前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 gif 动图很花时间,为了把我的博客打造成精品我也是蛮拼的了.使用动图的优点是演示效果好,缺点是动图体积…
不过升级后安装命令行工具(Command Line Tools)时发现官网没有clt的下载安装包了,原来改了,使用命令在线安装. 打开终端,输入命令:xcode-select --install 选择“安装”,然后同意安装协议.…
本篇继续对于安全性测试话题,结合DVWA进行研习. Command Injection:命令注入攻击. 1. Command Injection命令注入 命令注入是通过在应用中执行宿主操作系统的命令,来达到破坏目的的一种攻击方式.如果我们的应用程序将不安全的用户输入传递给了系统命令解析器(shell),那么命令攻击就有可能发生. 通常来说,由应用程序传递操作系统命令会赋有和应用一样的权限,所以如果没有合理防御机制会给系统带来很大危害.命令注入攻击漏洞是PHP应用程序中常见的漏洞之一. 命令注入和…
Command Injection Low: <?php if( isset( $_POST[ 'Submit' ]  ) ) { // Get input $target = $_REQUEST[ 'ip' ]; // Determine OS and execute the ping command. if( stristr( php_uname( 's' ), 'Windows NT' ) ) { // Windows $cmd = shell_exec( 'ping  ' . $targ…
为什么要使用命令行 觉得这个问题不应该列出来,又觉得如果初次进行WEB开发的话,可能会觉得所有的东西都可以使用API去做,会觉得命令行没有必要. 其实,一个生产的项目命令行是绕不过去的.比如运营需要导出报表.统计下付费用户.服务不稳定修改下订单状态等等,再者,命令行的工具基本都是内部使用,调试日志可以随意点,退一万步来说,即使有问题了,还可以再次修改.不像API是是随机性的,有些业务发生错误和异常是随机的.不可逆的. 怎么使用cli 这个主要看下使用案例就一目了然了. 首先下载类库包 go ge…
xcode命令行工具包是一个小型独立包,可供下载独立于Xcode的和允许您执行命令行开发OS X. 在OS X10.9,就以及没有clt的下载安装包了,需要使用命令在线安装. xcode-select --install 登陆开发者账号 打开 https://developer.apple.com/download/more/ 搜索并下载命令行工具包OS X Mavericks,下载好后安装. 话说xcode 命令行工具可以干什么,可以干很多事情啊. 不安装的话终端里面没有cc命令,里面有git…
看到标题,是否有点疑惑 CPS 是什么东东.简单介绍一下就是浏览器的安全策略,如果 标签,或者是服务器中返回 HTTP 头中有 Content-Security-Policy 标签 ,浏览器会根据标签里面的内容,判断哪些资源可以加载或执行.阮一峰老师也有关于CSP 的文章,大家可以看看 看回 DVWA.DVWA 中需求也是很简单的,输入被信任的资源,就能加载或执行资源了. 初级 初级篇,如果不看源码的话.看检查器(F12),也可以知道一些被信任的网站. 其他的网站,大家应该也比较熟悉.而当中的…
打开终端输入:xcode-select --install 回车 安装好了测试结果:gcc -v 显示如下: xcode-select: note: install requested for command line developer tools apple-1tekiiMac:~ apple-1$ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-includ…
很多和正则表达式 re 是一致的: 1. 修改上次执行的命令 删除多余部分: % grep fooo /var/log/auth.log % ^o % grep foo /var/log/auth.log 替换(输错或少输): # 替换 % cat myflie % ^li^il % cat myfile # 漏写 % ansible vod -m command -a 'uptim' % ^im^ime % ansible vod -m command -a 'uptime' 高级替换: %…
转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com>2008-02-15 (这一小节应该是作为<shell编程范例之进程操作>的一些补充性质的内容.) 当我们在Linux下的命令行输入一个命令之后,这背后发生了什么? 1.什么是命令行接口 用户使用计算机有两种常见的方式,一种是图形化的接口(GUI),另外一种则是命令行接口(CLI).对于图形化的…
二.符号约定 为了便于说明格式,这里我们使用了一些符号约定,它们是通用的: C: 盘符 Path 路径 Filename 文件名 .ext 扩展名 Filespec 文件标识符 [ ] 方括号中的项目是可选项,用户可以根根据需要不输入这些内容 { } 大括号表示其中的项目必选一项 | 竖线表示两侧的内容可取其一 - 表示可重复项 三.命令行的输入方法 在DOS窗口中通过输入英文命令加回车键这种方式来执行程序.      四.内部命令和外部命令 命令行程序分为内部命令和外部命令,内部命令是随com…
程序的github地址:https://github.com/fanbrightup/fanyi 使用起来非常简单,同时支持中英文互译甚至是整句. 步骤一:首先你需要安装node,参见我的node安装 步骤二:sudo  npm install fanyi -g  安装选项-g全局安装,便于在任何终端目录打开 步骤三:命令行输入  fanyi  thank you(要查的单词)即可搜索,得到从有道和爱词霸网上拉下来的翻译,支持汉语和英语查询…
随着OS X 10.9 于 2013年6月10日在旧金山WWDC(world wide developer conference)上发布.是首个不使用猫科动物命名的系统,而转用加利福尼亚的产物. 该系统-Mavericks(巨浪)可免费在线升级,马上升级体验了一番. 后边才发现系统升级后,之前的命令行工具(Command Line Tools)已经无法使用,随后就去官网下载最新命令行工具,发现没有,网上查了下才知道,安装方式改了,使用终端在线安装. 安装方式,打开终端,输入命令:xcode-se…
一.命令行简介 命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序. 在这里,先解释什么是DOS? DOS——Disk Operation System 磁盘操作系统 目前我们常用的操作系统有windows 9x/Me,NT,2000等,都是可视化的界面.在这些系统之前的人们使用的操作系统是DOS系统.DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中.大部分的DOS命令都已经在Windows里变成了可视化的界…