某处么有做任务过滤,存在存储型xss,某处上传也么有做任何过滤,导致可以上传任意文件
1. 注册一个账户后,点击相册模块,上传图片处
右击查看源码
上传按钮处查看
<div class="btn"><a href="#" onclick="checkUploadInput();" target="_self"><img src="/album/images/btn_upload.gif" /></a></div>
调用checkUploadInput
查看调用js处js代码
http://album.goodbaby.com/album/js/album.js
function checkUploadInput() {
var uploadfiles = document.getElementsByName('uploadfiles[]');
var empty = true;
for(i=0;i<uploadfiles.length;i++) {
var uploadfile = uploadfiles[i];
if(uploadfile.value != '') {
empty = false;
break;
}
}
if(document.getElementById('categoryid').value == '') {
alert('请选择分类!');
document.getElementById('categoryid').focus();
} else if(document.getElementById('albumid').value == '') {
alert('请选择相册!');
document.getElementById('albumid').focus();
} else if(empty) {
alert('请选择上传的照牿!');
} else {
if(document.getElementById('tags').value != ''){
var patrn=/^[-.a-zA-Z0-9\s_\u4e00-\u9fa5]+$/;
if(!patrn.exec(document.getElementById('tags').value)) {
alert('标签不能包含特殊字符,比如‿/、[、]〿%〿*”之类的特殊符号!');
document.getElementById('tags').focus();
return;
}
}
popup(4,0);
document.uploadform.submit();
}
}
前台无任何过滤,上传文件后查看文件得到文件的地方,下载文件与原文件对比,发现文件么做任何处理。前台,后台没有过滤导致可上传任意文件。
我上传了一个一句话木马,地址没找到,不过记得之前有位已经暴力能猜解出上传后生成的文件名,然后推测出地址,忘了也就不折腾了。
上传带php脚本的jpg
http://photo.goodbaby.com/120920/14/U1112845528/55e04373cab5931a.jpg
2. 然后上传文件抓包,发现post提交的时候包括文件流,照片分类,照片的tag都可以修改,此处只有tag做了正则判断,如果post提交过程中修改依然可导致存储型xss(没测试)
3. 照片描述处存储型xss,该xss目测可能危害比较严重
照片描述处无任务过滤
http://album.goodbaby.com/album/album_photo.php?photoid=69a5aa#viewpic
而用户上传的图片,又会更新在首页
http://album.goodbaby.com/album/album.php
如若我们上传一个性感图片,构造js收集cookie,坐等鱼上勾~~,嘿嘿!
上传:
http://photo.goodbaby.com/120920/14/U1112845528/55e04373cab5931a.jpg
xss:
http://album.goodbaby.com/album/album_photo.php?photoid=69a5aa#viewpic
修复方案:
过滤...