网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

开源论坛程序 DOM Based XSS - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] 程序官网:http: www youyax com 漏洞程序下载地址:http: www 2cto com ym 201402 44952 html漏洞文件位置在: YouYaX Tpl mobile home mypub html 第23行处的 eval() 函数 document onre...

程序官网:
 
http://www.youyax.com/
 
漏洞程序下载地址: http://www.2cto.com/ym/201402/44952.html
 
 
 
漏洞文件位置在:\YouYaX\Tpl\mobile\home\mypub.html 第23行处的 eval() 函数
 
 
 
......
 
......

......

document.onreadystatechange = function(){           

    if (document.readyState == "complete"){

     var aes=document.getElementById("pagination").getElementsByTagName("a");

var url=window.location.href;

18行 var url_array=url.split("=");

var page=url_array[1];

var uclass=document.getElementById("pagination").getElementsByTagName("a");

for(var n in uclass)

{

23行 var str=eval("/fy"+page+"/");

if(str.test(uclass[n].className)&&uclass[n].className!=undefined)

{

uclass[n].style.background="#deccb1";

}

}

}

}

......

......

......

 

 
 
 
观察上面的代码不难发现,18行处的
 
var url_array=url.split("=");
 
 
是罪魁祸首。
 
 
 
整个过程将URL以等号(=)之后的字符送入page变量,然后等到页面触发AJAX - onreadystatechange 事件 再通过eval函数执行了page里面的变量。
 
 
 
知道了程序的逻辑后,我们可以在URL处构造如下:
 
http://127.0.0.1/YouYaX/Tpl/mobile/home/mypub.html?=/.source+alert()/
 
 
当我们访问http://127.0.0.1/YouYaX/Tpl/mobile/home/mypub.html?=/.source+alert()/
 
修复方案:
根据业务选择是否保留或者过滤

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论