Скрипт на прокачку lvl в стим

Тема в разделе "Веб уязвимости", создана пользователем Gooderzz, 17.03.18.Просмотров: 461

  1. Gooderzz UNTRU$TED

    Gooderzz

    38 сообщения
    27 симпатий
    0
    розыгрышей
    6 лет с нами
    1 месяц с нами
    6 дней с нами
    Скрипт выполняет 10-12 заданий "Стола Сообщества"
    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником

    Входим в Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником через браузер
    Открываем страницу со значком Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником
    Нажимаем (F12)
    Копируем и вставляем код в закладку Console
    Нажимаем Enter

    Код:
    'use strict';
    
    (function() {
    if (!location.href.match(/^https?:\/\/steamcommunity.com\/(?:id|profiles)\/[^\/]+\/badges\/2/)) {
    location.href = '//steamcommunity.com/my/badges/2';
    return;
    }
    
    if (!g_steamID) {
    alert('No logged on!');
    return;
    }
    
    var k_ExpectedTasksCount = 28;
    var g_SteamTasks = $J('.badge_task');
    
    if (g_SteamTasks.length != k_ExpectedTasksCount) {
    console.error('Expected tasks ' + k_ExpectedTasksCount + ', but found ' + g_SteamTasks.length);
    console.error('Stopped');
    return;
    }
    
    var g_TasksQueue = [];
    
    var bTaskBroadcast = isTaskAvailable(3);
    var bTaskWorkshopRate = isTaskAvailable(11);
    var bTaskWorkshopSubscribe = isTaskAvailable(12);
    var bTaskWorkshop = bTaskWorkshopRate || bTaskWorkshopSubscribe;
    var bTaskCommunityProfileRealName = isTaskAvailable(16);
    var bTaskCommunityProfile = bTaskCommunityProfileRealName || isTaskAvailable(15) || isTaskAvailable(17);
    var bTaskJoinGroup = isTaskAvailable(18);
    var bTaskProfileComment = isTaskAvailable(19);
    var bTaskFeedRateUp = isTaskAvailable(20);
    var bTaskPostStatus = isTaskAvailable(21);
    var bTaskSelectBadge = isTaskAvailable(24);
    var bTaskDiscussionsSearch = isTaskAvailable(26);
    
    function isTaskAvailable(task_id) {
    var task = g_SteamTasks.eq(task_id);
    if (!task.length)
    return false;
    
    return task.find('.quest_icon').attr('src').indexOf('_off') != -1;
    }
    
    function DoTaskBroadcast(next) {
    $J.get('//steamcommunity.com/apps/allcontenthome?appHubSubSection=13').done(function(data) {
    // first available broadcast
    var match = data.match(/watch\/(\d+)/);
    if (!match) {
    console.error('[DoTaskBroadcast] Fail! (2)');
    return next();
    }
    
    $J.get('//steamcommunity.com/broadcast/getbroadcastmpd/?steamid=' + match[1] + '&broadcastid=0&viewertoken=0').done(function(data) {
    if (data.success !== 'ready') {
    console.error('[DoTaskBroadcast] Fail! (4)');
    } else {
    console.log('[DoTaskBroadcast] OK!');
    }
    }).fail(function() {
    console.error('[DoTaskBroadcast] Fail! (3)');
    }).always(function() {
    next();
    });
    }).fail(function() {
    console.error('[DoTaskBroadcast] Fail! (1)');
    next();
    });
    }
    
    function DoTaskWorkshop(next) {
    $J.get('//steamcommunity.com/workshop/browse/', {
    appid: 440,
    browsesort: 'totaluniquesubscribers'
    }).done(function(data) {
    var matches = data.match(/sharedfile_(\d+)/g);
    if (!matches) {
    console.error('[DoTaskWorkshop] Fail! (2)');
    return next();
    }
    
    var file_id = matches[Math.floor(Math.random() * matches.length)].substr(11);
    var isDone = false;
    
    if (bTaskWorkshopRate) {
    console.log('[DoTaskWorkshop] Upvoting id#' + file_id);
    $J.post('//steamcommunity.com/sharedfiles/voteup', {
    id: file_id,
    sessionid: g_sessionID
    }).done(function(data) {
    if (data.success == 1) {
    console.log('[DoTaskWorkshop] Rate - OK!');
    } else {
    console.error('[DoTaskWorkshop] Rate - Fail! (4)');
    }
    }).fail(function() {
    console.error('[DoTaskWorkshop] Rate - Fail! (3)');
    }).always(function() {
    if (!bTaskWorkshopSubscribe || isDone) {
    return next();
    }
    isDone = true;
    });
    }
    
    if (bTaskWorkshopSubscribe) {
    console.log('[DoTaskWorkshop] Subscribing id#' + file_id);
    $J.post('//steamcommunity.com/sharedfiles/subscribe', {
    id: file_id,
    appid: 440,
    sessionid: g_sessionID
    }).done(function(data) {
    if (data.success == 1) {
    console.log('[DoTaskWorkshop] Subscribe - OK!');
    $J.post('//steamcommunity.com/sharedfiles/unsubscribe', {
    id: file_id,
    appid: 440,
    sessionid: g_sessionID
    }).done(function(data) {
    if (data.success == 1) {
    console.log('[DoTaskWorkshop] Unsubscribed');
    }
    });
    } else {
    console.error('[DoTaskWorkshop] Subscribe - Fail! (4)');
    }
    }).fail(function() {
    console.error('[DoTaskWorkshop] Subscribe - Fail! (3)');
    }).always(function() {
    if (!bTaskWorkshopRate || isDone) {
    return next();
    }
    isDone = true;
    });
    }
    }).fail(function() {
    console.error('[DoTaskWorkshop] Fail! (1)');
    next();
    });
    }
    // D'OH! I hate simulators (????)
    function DoTaskCommunityProfile(next) {
    $J.get('//steamcommunity.com/profiles/' + g_steamID + '/edit').done(function(data) {
    var form = $J(data).find('form').eq(0);
    
    if (bTaskCommunityProfileRealName) {
    form.find('#real_name').val(form.find('#personaName').val())
    }
    
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/edit', form.serialize()).done(function(data) {
    console.log('[DoTaskCommunityProfile] OK!');
    }).fail(function() {
    console.error('[DoTaskCommunityProfile] Fail! (2)');
    }).always(function() {
    next();
    });
    }).fail(function() {
    console.error('[DoTaskCommunityProfile] Fail! (1)');
    next();
    });
    }
    
    function DoTaskJoinGroup(next) {
    $J.post('//steamcommunity.com/groups/tradingcards', {
    action: 'join',
    sessionID: g_sessionID
    }).done(function() {
    console.log('[DoTaskJoinGroup] OK!');
    }).fail(function() {
    console.error('[DoTaskJoinGroup] Fail!');
    }).always(function() {
    next();
    });
    }
    function DoTaskProfileComment(next) {
    $J.post('//steamcommunity.com/comment/Profile/post/76561198804907225/-1/', {
    comment: ':steammocking:',
    count: 6,
    sessionid: g_sessionID
    }).done(function(data) {
    if (data.success) {
    console.log('[DoTaskProfileComment] OK!');
    } else {
    console.error('[DoTaskProfileComment] Fail! (2)');
    }
    }).fail(function() {
    console.error('[DoTaskProfileComment] Fail! (1)');
    }).always(function() {
    next();
    });
    }
    
    function DoTaskFeedRateUp(next) {
    $J.post('//steamcommunity.com/actions/LogFriendActivityUpvote', {
    sessionID: g_sessionID
    }).done(function() {
    console.log('[DoTaskFeedRateUp] OK!');
    }).fail(function() {
    console.error('[DoTaskFeedRateUp] Fail!');
    }).always(function() {
    next();
    });
    }
    
    function DoTaskPostStatus(next) {
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/ajaxpostuserstatus/', {
    sessionid: g_sessionID,
    status_text: 'Hello World!',
    appid: 0
    }).done(function(data) {
    if (data.success && data.blotter_html) {
    console.log('[DoTaskPostStatus] OK!');
    var postid = data.blotter_html.match(/userstatus_(\d+)_/)[1];
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/ajaxdeleteuserstatus/', {
    sessionid: g_sessionID,
    postid: postid
    }).done(function(data) {
    if (data.success) {
    console.log('[DoTaskPostStatus] Post removed');
    }
    });
    } else {
    console.error('[DoTaskPostStatus] Fail! (2)');
    }
    }).fail(function() {
    console.error('[DoTaskPostStatus] Fail! (1)');
    }).always(function() {
    next();
    });
    }
    
    function DoTaskSelectBadge(next) {
    $J.post('//steamcommunity.com/profiles/' + g_steamID + '/badges/2', {
    action: 'setfavoritebadge',
    sessionid: g_sessionID,
    badgeid: 2 // Community Badge
    }).done(function(data) {
    if (data.indexOf('class="profile_fatalerror"') != -1) {
    console.error('[DoTaskSelectBadge] Fail! (2)');
    } else {
    console.log('[DoTaskSelectBadge] OK!');
    }
    }).fail(function() {
    console.error('[DoTaskSelectBadge] Fail! (1)');
    }).always(function() {
    next();
    });
    }
    
    function DoTaskDiscussionsSearch(next) {
    $J.ajax({
    // Really where? :(
    url: '//steamcommunity.com/discussions/forum/search/?gidforum=882958665520871138&q=%57%68%65%72%65%20%69%73%20%48%61%6C%66%2D%4C%69%66%65%20%33%3F',
    type: 'HEAD'
    }).done(function() {
    console.log('[DoTaskDiscussionsSearch] OK!');
    }).fail(function() {
    console.error('[DoTaskDiscussionsSearch] Fail!');
    }).always(function() {
    next();
    });
    }
    
    function DoNextTask() {
    var Task = g_TasksQueue.shift();
    if (Task) {
    Task(DoNextTask);
    } else {
    console.log('Done! Refresh the page and see what happened')
    }
    };
    
    
    if (bTaskBroadcast) {
    g_TasksQueue.push(DoTaskBroadcast);
    console.log('Added task `Broadcast`');
    }
    if (bTaskWorkshop) {
    g_TasksQueue.push(DoTaskWorkshop);
    console.log('Added task `Workshop`');
    }
    if (bTaskCommunityProfile) {
    g_TasksQueue.push(DoTaskCommunityProfile);
    console.log('Added task `CommunityProfile`');
    }
    if (bTaskJoinGroup) {
    g_TasksQueue.push(DoTaskJoinGroup);
    console.log('Added task `JoinGroup`');
    }
    if (bTaskProfileComment) {
    g_TasksQueue.push(DoTaskProfileComment);
    console.log('Added task `ProfileComment`');
    }
    if (bTaskFeedRateUp) {
    g_TasksQueue.push(DoTaskFeedRateUp);
    console.log('Added task `FeedRateUp`');
    }
    if (bTaskPostStatus) {
    g_TasksQueue.push(DoTaskPostStatus);
    console.log('Added task `PostStatus`');
    }
    if (bTaskDiscussionsSearch) {
    g_TasksQueue.push(DoTaskDiscussionsSearch);
    console.log('Added task `DiscussionsSearch`');
    }
    if (bTaskSelectBadge) {
    g_TasksQueue.push(DoTaskSelectBadge);
    console.log('Added task `SelectBadge`');
    }
    
    if (!g_TasksQueue.length) {
    console.log('Nothing to do. Great job! :)');
    return;
    }
    
    DoNextTask();
    })();