不需要的css注入帖子

时间:2012-04-03 01:11:34

标签: css advertising

我们的一些用户在他们不知情的情况下将css插入到他们的帖子中。此css似乎与广告相关,不是由字处理器生成的,只包含css而不是html。以下是一个例子:

.adslot-overlay
{
  position:absolute;
  font-family:arial, sans-serif;
  background-color:rgba(0,0,0,0.65);
  border:2px solid rgba(0,0,0,0.65);
  color:#FFF!important;
  z-index:2147483647;
  text-decoration:none;
  box-sizing:border-box;
  text-align:left;
  margin:0;
}

.adslot-overlay-iframed
{
  top:0;
  left:0;
  right:0;
  bottom:0;
}

.slotname
{
  position:absolute;
  top:0;
  left:0;
  right:0;
  font-size:13px;
  font-weight:700;
  vertical-align:middle;
  background-color:rgba(0,0,0,0.45);
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  padding:3px 0 3px 6px;
}

.slotname span
{
  text-align:left;
  text-decoration:none;
  text-transform:capitalize;
}

.revenue
{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  font-size:11px;
  vertial-align:middle;
  text-align:left;
  background-color:rgba(0,0,0,0.45);
  font-weight:700;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
  padding:3px 0 3px 6px;
}

.revenue .name
{
  color:#ccc;
}

.revenue .horizontal .metric
{
  display:inline-block;
  padding-right:1.5em;
}

.revenue .horizontal .name
{
  padding-right:.5em;
}

.revenue .vertical .metric
{
  display:block;
  line-height:1.5em;
  margin-bottom:.5em;
}

.revenue .vertical .name,.revenue .vertical .value
{
  display:block;
}

.revenue .square .metric,.revenue .button .metric
{
  display:table-row;
}

.revenue .square .metric
{
  line-height:1.5em;
}

.revenue .square .name,.revenue .square .value,.revenue .button .value
{
  display:table-cell;
}

.revenue .square .name
{
  padding-right:1.5em;
}

.revenue .button .name
{
  display:block;
  margin-right:.5em;
  width:1em;
  overflow:hidden;
  text-overflow:clip;
}

.revenue .button .name:first-letter
{
  margin-right:1.5em;
}

a.adslot-overlay:hover
{
  border:2px solid rgba(58,106,173,0.9);
}

a.adslot-overlay:hover .slotname
{
  border-bottom:1px solid rgba(81,132,210,0.9);
  background-color:rgba(58,106,173,0.9);
}

a.adslot-overlay:hover .revenue
{
  border-top:1px solid rgba(81,132,210,0.9);
  background-color:rgba(58,106,173,0.9);
}

div.adslot-overlay:hover
{
  cursor:not-allowed;
  border:2px solid rgba(64,64,64,0.9);
}

div.adslot-overlay:hover .slotname
{
  border-bottom:1px solid rgba(128,128,128,0.9);
  background-color:rgba(64,64,64,0.9);
}

div.adslot-overlay:hover .revenue
{
  border-top:1px solid rgba(128,128,128,0.9);
  background-color:rgba(64,64,64,0.9);
}

我已经对互联网进行了搜索,无法对此进行任何解释。我得到的是其他多个具有类似css的网站,如下所示:

http://www.greenbiz.com/video/2012/02/24/john-donahoe-conversation-joel-makower

http://bloggers.com/posts/tamilactressbook-47592(每篇文章)

似乎这个css是通过javascript注入的,因为很多广告脚本都是js,并且发布机制使用了诸如tinymce之类的所见即所得编辑器。它可能与浏览器有关,可能依赖于附加组件。在这个阶段,这是一个谜,我想知道是否有其他人遇到过它。

6 个答案:

答案 0 :(得分:1)

您需要查看是否可以在注入CSS时以及在数据库中找到所有CSS时将其隔离。有几种情况。首先,有问题的博客软件可能有一个漏洞,可能允许它被注入。如果它是直接针对网站的SQL注入攻击,那么CSS代码可能无处不在。几年前我在一家公司工作,在其中一个网站上有漏洞,我不得不承认,注入的SQL代码非常聪明。基本上,如果您有任何带有任何文本(varchar / text)字段的行,则会将javascript片段(或其中的一部分)插入到所有这些字段中。

如果它仅在用户发布时被注入,那么,我们知道它可能是由于几个因素造成的无害的。

我从第一页看到的有趣的事情是它的meta描述也包含css:

<meta name="description" content="eBay's CEO John Donahoe explores the business case for sustainable consumption, addressing the unique opportunities and roles of big business, small business, and technology in driving this shift.


.adslot-overlay {position: absolute; ...">

为简洁而编辑的内容

所以我认为我们正在考虑某种自动sql注入攻击。

现在为什么css?好吧,我还认为这必须与另一次攻击一起使用(除非某种程度上它是我尚未识别的同一攻击的一部分)。我们可以从css看到绝对定位.adslot-overlay,并且它的z-index是z-index: 2147483647;,我认为它可以设置得高。如果该代码实际上使其成为样式标记或链接到css文件,它可以与实际具有用于覆盖页面的类的内容结合使用,使其看起来像网页广告通用伟哥或任何其他

现在,我不得不承认我在这里做了一些假设,可能其中一些不是真的。 可能是真的是:

  1. 您的博客软件可以利用,
  2. 插入漏洞后,您的数据库需要进行大量清理(抱歉)。

答案 1 :(得分:1)

我昨天开始体验它。一旦我点击“发布”,它就会插入到每个帖子中。寻找如何解决它的答案,并发现你的帖子。感谢

更新:我花了好几个小时倾注我的所有文件,找不到任何可疑的东西。在我发生这件事之前,我唯一想到的就是批准了一些“粗略”的评论。

不幸的是,我没有采取科学的方法来解决这个问题。我关闭了我正在使用的浏览器窗口,在另一个窗口中打开了我的博客,并将这些已批准的评论移到垃圾箱。

我跑了一个测试帖,“垃圾”不再出现在我的帖子里了。只是想为其他人搜索此问题进行更新。

答案 2 :(得分:1)

Lyndsy对于Google发布商工具栏是罪魁祸首是正确的。 GPT创建并覆盖广告统计信息等,并以某种方式将CSS插入到文本编辑器中。创建/编辑帖子时将其关闭。

答案 3 :(得分:0)

我相信我已经弄明白了。这是由Chrome扩展程序Google Publisher Toolbar引起的。

这是一个错误,而不是攻击。

启用GPT后,几乎每次加载jsFiddle时都会粘贴CSS。一旦我禁用它,我就没有再次出现问题了。

答案 4 :(得分:0)

你是对的!问题来自Google工具栏。我尝试使用Anonymous Chrome和prblem desapear!

答案 5 :(得分:0)

感谢。我们还有其他报道;我现在正在努力修复,到本周末将会是2.3。