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

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

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:より適切なブログを教えていただければ嬉しいです。

Source: https://habr.com/ru/post/J127109/


All Articles