【问题标题】:Unwanted css injected into posts不需要的 css 注入到帖子中
【发布时间】:2012-04-16 16:08:13
【问题描述】:

我们的一些用户在他们不知情的情况下将 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。它可能与浏览器相关,并且可能取决于附加组件。在这个阶段,这是一个谜,我想知道是否有其他人遇到过。

【问题讨论】:

  • 你能用this之类的东西美化css代码吗?

标签: css ads


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    如果它只是在用户发帖时被注入,好吧,据我们所知,这可能是由于几个因素造成的无害。

    我从第一页看到的有趣的事情是它的 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. 一旦堵住漏洞,您的数据库将需要进行大量清理(抱歉)。

    【讨论】:

      【解决方案3】:

      我昨天开始体验它。一旦我点击“发布”,它就会插入到每个帖子中。寻找有关如何修复它的答案并遇到您的帖子。谢谢

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

      很遗憾,我没有采取科学的方法来解决问题。我关闭了我正在使用的浏览器窗口,在另一个窗口中打开了我的博客,并将那些批准的 cmets 移到了垃圾箱。

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

        • 为什么我对此投了反对票,而为我辩护的人却认为我接受了答案?
        【解决方案5】:

        你是对的!问题来自谷歌工具栏。我尝试使用匿名 Chrome 和问题消失!

        【讨论】:

          【解决方案6】:

          谢谢。我们还有其他关于此的报告;我现在正在着手进行修复,该修复将在本周末发布到 2.3。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-10-28
            相关资源
            最近更新 更多